Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使命令行中给出的gcc警告函数_C_Multithreading_Gcc_Thread Safety_C Libraries - Fatal编程技术网

如何使命令行中给出的gcc警告函数

如何使命令行中给出的gcc警告函数,c,multithreading,gcc,thread-safety,c-libraries,C,Multithreading,Gcc,Thread Safety,C Libraries,我有几个使用非线程安全函数的库,比如gmtime(),strtok(),asctime()。。。我想用它们的线程安全等价物来修复它们(gmtime\u r(),strtok\u r(),asctime\u r()) 我的源代码由许多库组成。其中一些可以由我修复,但另一些不能修改(例如libsqlite、libcurl),因为它们是导入到源代码树的外部组件 我希望gcc在试图编译仅在我拥有的代码上使用这些非线程安全函数的库时停止编译。但是,对于外部库,我不想触发任何gcc错误 如何做到这一点?不熟

我有几个使用非线程安全函数的库,比如gmtime()strtok()asctime()。。。我想用它们的线程安全等价物来修复它们(gmtime\u r()strtok\u r()asctime\u r()

我的源代码由许多库组成。其中一些可以由我修复,但另一些不能修改(例如libsqlite、libcurl),因为它们是导入到源代码树的外部组件

我希望gcc在试图编译仅在我拥有的代码上使用这些非线程安全函数的库时停止编译。但是,对于外部库,我不想触发任何gcc错误


如何做到这一点?

不熟悉任何可以检查线程安全功能的
gcc
标志。您可以使用
clang
-Wthread safety
检查线程安全或非线程安全功能。不熟悉任何可以检查线程安全功能的
gcc
标志。您可以使用
clang
-Wthread safety
来检查线程安全或非线程安全功能。