是否有任何C编译器可让您阻止使用特定的库和函数?

波尔卡朋克

有谁知道是否有任何C编译器可以阻止您使用特定的库和函数?

例如,假设我想阻止对float.h的访问,并尝试编译具有“ #include”的程序。我希望编译失败,并显示某种消息,表明这是因为无法包含float.h。

或者,如果我想在math.h中阻止对sqrt()和pow()的访问,但在该库中包含所有其他函数,那么该程序的行应为“ double hold = pow(2.0,3.0);”。不会编译,并且会出现正在调用阻塞函数的情况。

我已经尝试过在网上搜索类似的内容,但我认为我不知道要搜索的正确术语,因为我似乎找不到与我实际寻找的内容有关的任何结果。

PSkocik

例如,使用gcc,您可以执行以下操作来防止某些情况:

  1. 为您要失败的每个头创建失败的存根:

float.h:

#error "You must not include me"
  1. 确保这些存根将覆盖您的系统库:

    $ export CPATH=$PWD
    

然后,在此环境中编译尝试包含"float.h"<float.h>其中的c文件将失败。

当然,这是可以避免的。您只需要手动声明缺少的标头中声明的函数即可。

更好的选择可能是创建一个全局包含(-include),在其中您#pragma GCC poison应将所有不应在程序中任何地方使用的符号。

您也可以检查创建的目标文件,nm其中包含您不想由c librard解析的未解析符号,如果找到此类符号,则停止构建。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否有任何C编译器可让您阻止使用特定的库和函数?

来自分类Dev

是否有任何编译器和库,其中strcmp()返回的值不是-1 0和1?

来自分类Dev

导入Dart库时使用“显示”是否除了意图和编译器速度之外还有其他好处?

来自分类Dev

是否有Razor助手,可让您使用字符串和对象创建url

来自分类Dev

是否有可以使用特定编译器编译的功能?

来自分类Dev

GCC(通过 CUDA)内部函数的编译器错误,但我没有使用任何

来自分类Dev

调用超级构造函数(关闭编译器和库)

来自分类Dev

有没有办法检查编译器是否内联C ++ lambda函数?

来自分类Dev

如何在不使用标准C库的情况下使用编译器内置函数

来自分类Dev

使用编译器内置函数而不链接c标准库

来自分类Dev

C编译器是否优化汇编中的函数,以使对堆栈的使用最小化?

来自分类Dev

C编译器是否优化汇编中的函数,以使对堆栈的使用最小化?

来自分类Dev

C ++中的randomize()和random()函数仅在某些编译器中有效

来自分类Dev

默认的虚拟析构函数是否会阻止编译器生成的移动操作?

来自分类Dev

本机c ++编译器和.net c ++编译器有什么区别?

来自分类Dev

是否有任何ui自动化工具可让您更改/向窗口添加元素?

来自分类Dev

是否有任何其他编译器如 typescript 可以编译为 javascript

来自分类Dev

是否有任何基于Windows的媒体播放器软件可让您暂停视频,然后在几秒钟前取消暂停?

来自分类Dev

是否可以使用夜间编译器编译一个特定的库,并将其链接到在稳定状态下编译的项目?

来自分类Dev

C ++ 11中的先序顺序关系是否会阻止编译器/ CPU重新排序?

来自分类Dev

“易失性”是否足以阻止C ++编译器优化静默写入?

来自分类Dev

无法使用Intel编译器强制内联C ++函数

来自分类Dev

C ++如何在调用函数时阻止编译器进行隐式转换?

来自分类Dev

具有不同编译器的C ++和varargs

来自分类Dev

是否有一个单声道回购库,该库可让我们使用带有类型建议的打字稿包而无需编译?

来自分类Dev

msbuild是否带有编译器?

来自分类Dev

编译器是否有区别-Java

来自分类Dev

使用haxe作为C ++和JavaScript之间的编译器

来自分类Dev

跨不同编译器的C ++库

Related 相关文章

  1. 1

    是否有任何C编译器可让您阻止使用特定的库和函数?

  2. 2

    是否有任何编译器和库,其中strcmp()返回的值不是-1 0和1?

  3. 3

    导入Dart库时使用“显示”是否除了意图和编译器速度之外还有其他好处?

  4. 4

    是否有Razor助手,可让您使用字符串和对象创建url

  5. 5

    是否有可以使用特定编译器编译的功能?

  6. 6

    GCC(通过 CUDA)内部函数的编译器错误,但我没有使用任何

  7. 7

    调用超级构造函数(关闭编译器和库)

  8. 8

    有没有办法检查编译器是否内联C ++ lambda函数?

  9. 9

    如何在不使用标准C库的情况下使用编译器内置函数

  10. 10

    使用编译器内置函数而不链接c标准库

  11. 11

    C编译器是否优化汇编中的函数,以使对堆栈的使用最小化?

  12. 12

    C编译器是否优化汇编中的函数,以使对堆栈的使用最小化?

  13. 13

    C ++中的randomize()和random()函数仅在某些编译器中有效

  14. 14

    默认的虚拟析构函数是否会阻止编译器生成的移动操作?

  15. 15

    本机c ++编译器和.net c ++编译器有什么区别?

  16. 16

    是否有任何ui自动化工具可让您更改/向窗口添加元素?

  17. 17

    是否有任何其他编译器如 typescript 可以编译为 javascript

  18. 18

    是否有任何基于Windows的媒体播放器软件可让您暂停视频,然后在几秒钟前取消暂停?

  19. 19

    是否可以使用夜间编译器编译一个特定的库,并将其链接到在稳定状态下编译的项目?

  20. 20

    C ++ 11中的先序顺序关系是否会阻止编译器/ CPU重新排序?

  21. 21

    “易失性”是否足以阻止C ++编译器优化静默写入?

  22. 22

    无法使用Intel编译器强制内联C ++函数

  23. 23

    C ++如何在调用函数时阻止编译器进行隐式转换?

  24. 24

    具有不同编译器的C ++和varargs

  25. 25

    是否有一个单声道回购库,该库可让我们使用带有类型建议的打字稿包而无需编译?

  26. 26

    msbuild是否带有编译器?

  27. 27

    编译器是否有区别-Java

  28. 28

    使用haxe作为C ++和JavaScript之间的编译器

  29. 29

    跨不同编译器的C ++库

热门标签

归档