cprc - แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„แž”แž„แŸ’แžšแžฝแž˜แžแŸ’แž˜แžธแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž—แžถแžŸแžถ C

Michael Forney แžขแŸ’แž“แž€แž”แž„แŸ’แž€แžพแžแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž•แŸ’แžŸแŸ† swc แž•แŸ’แžขแŸ‚แž€แž›แžพแž–แžทแž’แžธแž€แžถแžš Wayland แž€แŸ†แž–แžปแž„แž”แž„แŸ’แž€แžพแžแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„ cproc แžแŸ’แž˜แžธแžŠแŸ‚แž›แž‚แžถแŸ†แž‘แŸ’แžšแžŸแŸ’แžแž„แŸ‹แžŠแžถแžš C11 แž“แžทแž„แž•แŸ’แž“แŸ‚แž€แž”แž“แŸ’แžแŸ‚แž˜ GNU แž˜แžฝแž™แž…แŸ†แž“แžฝแž“แŸ” แžŠแžพแž˜แŸ’แž”แžธแž”แž„แŸ’แž€แžพแžแžฏแž€แžŸแžถแžšแžŠแŸ‚แž›แžขแžถแž…แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž”แžถแž“แž›แŸ’แžขแž”แŸ’แžšแžŸแžพแžš แžขแŸ’แž“แž€แž…แž„แž€แŸ’แžšแž„แž”แŸ’แžšแžพแž‚แž˜แŸ’แžšแŸ„แž„ QBE แž‡แžถแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžแžถแž„แž€แŸ’แžšแŸ„แž™แŸ” แž›แŸแžแž€แžผแžŠแž…แž„แž€แŸ’แžšแž„แžแŸ’แžšแžผแžœแž”แžถแž“แžŸแžšแžŸแŸแžšแž‡แžถ C แž แžพแž™แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸ‚แž€แž…แžถแž™แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ ISC แžฅแžแž‚แžทแžแžแŸ’แž›แŸƒแŸ”

แž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸแž˜แžทแž“แž‘แžถแž“แŸ‹แž–แŸแž‰แž›แŸแž‰แž“แŸ…แžกแžพแž™ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž“แŸ…แžŠแŸ†แžŽแžถแž€แŸ‹แž€แžถแž›แž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“ แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แž‰แŸ’แž‡แžถแž€แŸ‹แž—แžถแž‚แž…แŸ’แžšแžพแž“แž“แŸƒ C11 แžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแŸ” แž€แŸ’แž“แžปแž„แž…แŸ†แžŽแŸ„แž˜แž›แž€แŸ’แžแžŽแŸˆแž–แžทแžŸแŸแžŸแžŠแŸ‚แž›แž˜แžทแž“แžแŸ’แžšแžผแžœแž”แžถแž“แž‚แžถแŸ†แž‘แŸ’แžšแž“แžถแž–แŸแž›แž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แž“แŸแŸ‡แž‚แžบแžขแžถแžšแŸแž”แŸ’แžšแžœแŸ‚แž„แžขแžแŸแžš แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž˜แžปแž“ แž€แžถแžšแž”แž„แŸ’แž€แžพแžแžฏแž€แžŸแžถแžšแžŠแŸ‚แž›แžขแžถแž…แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž”แžถแž“ PIE (แž€แžผแžŠแžฏแž€แžšแžถแž‡แŸ’แž™แž‘แžธแžแžถแŸ†แž„) แž“แžทแž„แž”แžŽแŸ’แžŽแžถแž›แŸแž™แžŠแŸ‚แž›แž”แžถแž“แž…แŸ‚แž€แžšแŸ†แž›แŸ‚แž€ แžงแž”แž€แžšแžŽแŸแžŠแŸ†แžกแžพแž„แž€แŸ’แž“แžปแž„แž‡แžฝแžš แž”แŸ’แžšแž—แŸแž‘ "แžœแŸ‚แž„แž‘แŸ’แžœแŸ" แžขแŸ’แž“แž€แž”แž‰แŸ’แž‡แžถแž€แŸ‹ _Thread_local แž”แŸ’แžšแž—แŸแž‘แž„แžถแž™แž“แžนแž„แž”แž„แŸ’แž€แž‡แžถแž แŸแžแžป แžขแž€แŸ’แžŸแžšแžขแž€แŸ’แžŸแžšแžŠแŸ‚แž›แž˜แžถแž“แž”แžปแž–แŸ’แžœแž”แž‘ (L "...") แŸ”

แž€แŸ’แž“แžปแž„แž–แŸแž›แž‡แžถแž˜แžฝแž™แž‚แŸ’แž“แžถแž“แŸแŸ‡ แžŸแž˜แžแŸ’แžแž—แžถแž–แžšแž”แžŸแŸ‹ cprc แž‚แžบแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแžถแž“แŸ‹แž แžพแž™แž€แŸ’แž“แžปแž„แž€แžถแžšแž”แž„แŸ’แž€แžพแžแžŠแŸ„แž™แžแŸ’แž›แžฝแž“แžฏแž„ mcpp, gcc 4.7, binutils แž“แžทแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแŸ” แž—แžถแž–แžแžปแžŸแž‚แŸ’แž“แžถแžŸแŸ†แžแžถแž“แŸ‹แž–แžธแžขแŸ’แž“แž€แž…แž„แž€แŸ’แžšแž„แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแž‚แžบแž•แŸ’แžแŸ„แžแž›แžพแž€แžถแžšแž”แž„แŸ’แž€แžพแžแž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž”แž„แŸ’แžšแžฝแž˜แž“แžทแž„แž˜แžทแž“แžŸแŸ’แž˜แžปแž‚แŸ’แžšแžŸแŸ’แž˜แžถแž‰แŸ” แžงแž‘แžถแž แžšแžŽแŸ แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžแžถแž„แž€แŸ’แžšแŸ„แž™แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แž”แž„แŸ’แž€แžพแžแž€แžผแžŠแžŠแŸ‚แž›แž”แž„แŸ’แž แžถแž‰ 70% แž“แŸƒแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž“แŸƒแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„แž€แž˜แŸ’แžšแžทแžแžแŸ’แž–แžŸแŸ‹ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž˜แžปแžแž„แžถแžšแžŠแŸ‚แž›แž”แžถแž“แžŸแŸ’แž“แžพแžกแžพแž„แž‚แžบแž“แŸ…แž€แŸ’แž“แžปแž„ 10% แž“แŸƒแžขแŸ’แž“แž€แž…แž„แž€แŸ’แžšแž„แž’แŸ†แŸ” แž‚แžถแŸ†แž‘แŸ’แžšแž€แžถแžšแž€แžŸแžถแž„แžŸแŸ’แžแžถแž”แžแŸ’แž™แž€แž˜แŸ’แž˜ x86_64 แž“แžทแž„ aarch64 แž“แŸ…แž›แžพแžœแŸแž‘แžทแž€แžถ Linux แž“แžทแž„ FreeBSD แž‡แžถแž˜แžฝแž™แž“แžนแž„แž”แžŽแŸ’แžŽแžถแž›แŸแž™ Glibc, bsd libc แž“แžทแž„ Musl แŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹