發表文章

compiler course

http://www.cs.utexas.edu/users/mckinley/380C/lecs/lectures.html https://engineering.purdue.edu/~milind/ece663/2010spring/ https://www.inf.ed.ac.uk/teaching/courses/ct/17-18/ https://bitbucket.org/cdubach/ct-17-18/ [DU chain] https://courses.cs.cornell.edu/cs412/2004sp/lectures/lec36.pdf

GCC detail make

CPPFLAGS=-g -pthread -Q -v You can run gcc -Q -v on a small C file to have GCC dump the options being used. Run it with and without the -O1 option to get the difference between the enabled options.

How to prevent gcc optimizing some statements in C?

https://stackoverflow.com/questions/2219829/how-to-prevent-gcc-optimizing-some-statements-in-c #pragma GCC push_options #pragma GCC optimize ( "O0" ) your code #pragma GCC pop_options

gcc -dM -E - < /dev/null

#define __SSP_STRONG__ 3 https://www.ibm.com/developerworks/cn/linux/l-cn-gccstack/ 现在已经有了好几种编译器堆栈保护的实现,其中最著名的是 StackGuard 和 Stack-smashing Protection (SSP,又名 ProPolice)。 #define __DBL_MIN_EXP__ (-1021) #define __UINT_LEAST16_MAX__ 0xffff #define __ATOMIC_ACQUIRE 2 #define __FLT_MIN__ 1.17549435082228750797e-38F #define __GCC_IEC_559_COMPLEX 2 #define __UINT_LEAST8_TYPE__ unsigned char #define __SIZEOF_FLOAT80__ 16 #define __INTMAX_C(c) c ## L #define __CHAR_BIT__ 8 #define __UINT8_MAX__ 0xff #define __WINT_MAX__ 0xffffffffU #define __ORDER_LITTLE_ENDIAN__ 1234 #define __SIZE_MAX__ 0xffffffffffffffffUL #define __WCHAR_MAX__ 0x7fffffff #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 #define __DBL_DENORM_MIN__ ((double)4.94065645841246544177e-324L) #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 #define __GCC_ATOMIC_CHAR_LOCK_FREE 2 #define __GCC_IEC_559 2 #define __FLT_EVAL_METHOD...