抱歉我的英语不好
我正在使用borland c ++ 5.5编译器,但我喜欢它 一个问题有时让我担心;我写的是纯粹的c 应用程序没有这样一个c ++'功能',但我 用-P开关编译强制'c ++ compile'因为 如果我在c模式下编译,我必须声明“int i” 在for循环之前它是愚蠢的。所以我用c ++编译 模式,但我担心自己这样做 编译器放一些异常处理代码 进入我的应用程序 - 当我查看我的编程 使用十六进制编辑器,我看到很多奇怪的字符串 可能与.exe中的异常处理有关; 当我使用-x-切换到我的应用程序时它会带来 没有效果。我甚至可以给我的progs exe链接
dl.dropbox.com/u/42887985/unpack%20aeroplane.zip
如何确保无异常处理 (而且exe中没有任何其他不必要的东西 我宁愿把它保持在里面吗?
非常感谢回答这一点,这很重要 对我来说,杉木
答案 0 :(得分:3)
如果不支持作为标准一部分的异常,则不能拥有C ++。无论它对你的可执行文件有多大影响,我都不能说。
如果我是你,我会得到一个更现代的C编译器。在Windows上你应该尝试mingw。使用C99,您可以在任何地方声明变量。那个Borland编译器很古老。
答案 1 :(得分:0)
如前所述,您无法从C ++库中排除异常处理。但是还有一些其他编译器选项和其他技巧,可以帮助您减少代码大小
typeid
和dynamic_cast
如果不使用任何C ++可能性,可以安全地转换此选项。循环内部的变量无关紧要:-)),这可能会略微减少您的可执行文件大小。默认情况下启用RTTI选项,您可以使用-RT- switch __pascal
关键字或通过向编译器提供-p开关来在源文件中启用此约定