我想使用ANSI c中不可用的函数__sync_lock_test_and_set
,但它是GNU C扩展。
编译使用此扩展程序的代码时,出现以下错误,
/tmp/cc7Iat9G.o: In function `main':
swap.c:(.text+0x40): undefined reference to `__sync_lock_test_set'
collect2: ld returned 1 exit status
那么,我应该包含哪个头文件,或者我应该用什么编译器标志来编译带有GNU C扩展的代码
答案 0 :(得分:1)
我认为您在__sync_lock_test_set
时输入了__sync_lock_test_and_set
。后者在GCC documentation on atomic builtins中提到;前者不是。