我有几个使用非线程安全函数的库,例如 gmtime(), strtok(), asctime() .. 。我想用他们的线程安全等价物( gmtime_r(), strtok_r(), asctime_r()修复它们......)
我的源代码由许多库组成。其中一些可以由我修复,但其他一些不能修改(例如libsqlite,libcurl),因为它们是导入到源代码树的外部组件。
我希望gcc在尝试编译仅在我拥有的代码上使用这些非线程安全函数的库时停止编译。但是,对于外部库,我不想触发任何gcc错误。
怎么做?