在优快云上解决的第一个问题

本文探讨了在C++中使用宏定义转换枚举值为字符串的方法,并记录了一次编译过程中遇到ld返回1退出状态的问题及解决过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前几天在优快云上看了一个关于宏的文章,自己在DEV-C++中改了一下,运行。。。。出现了错误。 程序内容如下: #include<iostream> using namespace std; #define Enum2Str(e) #e enum value{one,two,three}; void test(value v) {      switch (v)      {         case one: cout<<Enum2Str("one")<<endl; break;         case two: cout<<Enum2Str("two")<<endl; break;         case three: cout<<Enum2Str("three")<<endl; break;         } } int main() {     test(one);     system("pause");     return 0;   }   在第一次编译时先是被金山当作病毒杀掉了。 再次编译时出现了这么一句错误提示: ld returned 1 exit status。我不怎么明白这句是什么意思。于是发了帖,得到了解决,以前总是在乱猜。如猜这是不是跟宏有关还是跟初始化有关。 正确的是:ld 的意思是ld=dynamic linker/load,关编译连接程序的关键工具,程序编译成.o文件后,会有连接器将这些文件连接成.exe文件。在linux系统中是ld- linux.os*库,在执行时去寻找并连接相应的动态连接库。在VC中相当于link.exe连接器。 至于为什么被金山干掉,猜可能是编译器的问题或者是金山的报错。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值