问题标题: 关于老师发布的codingtang.h的问题

3
0
已解决
薛乘志
薛乘志
初级启示者
初级启示者

尝试使用我的编译器编译压缩包里的程序,出现了一大堆问题(而且很多都是查看源码才发现的):

1. 无法静态编译:libcdt没有静态库,这就意味着如果要在其他电脑上运行必须带上libgcc_s_seh-1.dll libstdc++-6.dll 等等一大堆dll文件,极为笨重(动态库的大小远远超过静态链接)

2. 代码不规范:导致代码和c++标准强绑定,只兼容c++11和c++14,不支持c++17和c++20等更新的标准(理论上c++标准向下兼容),比如我用的编译器默认就无法通过编译

3. 二进制边界使用STL:这是最重要的,二进制边界使用STL是大忌!这导致代码和编译器强绑定,换一个编译器甚至同一个编译器不同编译选项都会出问题!我这里编译出的文件在运行时直接崩溃了

 

薛乘志在2023-02-11 20:57:58追加了内容

上述观点可能不够具体,下面是具体的例子:

在头文件里using namespace也真是个人才

二进制边界的string(string也是stl的一部分)

只有动态链接使用的库,不能静态链接

动态链接也就算了,倒是把dll带齐啊,libstdc++-6.dll不算dll是吧(压缩包里编译好的打不开)

另外我想这个字体重新发布应该是必须要带license的吧

薛乘志在2023-02-12 11:12:29追加了内容

@酷町侠 @酷丁 @酷町猫 @酷町扫地僧 希望解决

 


0
已采纳
张济罡
张济罡
初级守护
初级守护

为啥我用的好好的(逃

0
马伟翔
马伟翔
初级光能
初级光能

6,我说呢,运行半天一直报错,原来如此,我很好奇老师编写时的精神状态。

0
0
包涵宇
包涵宇
中级天翼
中级天翼

 老老实实写,老老实实用也很香啊,其实可以不用codingtang的

小提示:playsound等要加编译选项(详见我的贴:一个好用的小东西)

0
包涵宇
包涵宇
中级天翼
中级天翼

额。我好像没科普过要加啥。。。就当我没说吧

我要回答