妖异的问题
假设一个Cpp文件有一条语句: extern char a[100];表明这是个全局变量,它在其他模块中定义。
然后另外有一条使用这个变量的语句: a[0] = '';
然后假设把这个cpp编译成可执行文件,那么它会报变量a未定义;但是如果把它编译成.so文件,编译能够正确通过。这是为什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
^_^
好粗旷的回答...
糊涂了...连接时肯定会报错的
>>
>>
>>so文件并不是可直接执行的文件,编译器对他的编译处理没有像执行文件那么彻底。
>>
>>