delphij's shared chaos
304 subscribers
203 photos
18 videos
2 files
526 links
Download Telegram
今天份 #bug小熊手 :洗车洗到一半系统停机了
🔥4
今天份的 #bug小熊手

我们知道在C++代码中可以通过 extern "C" 来指定一段代码使用C连接性,即像C那样不把函数参数编码到符号中,而是直接按照函数名称来产生对应的符号。extern "C"可以是一个以 {} 为边界的语句块,从常理来看,出了这个语句块之后的连接性应该恢复C++,即定义同名但参数不同的函数时,编译器会按照C++的风格将参数编码到符号中,而不是报错告诉用户说定义了重名的C函数,事实上 LLVM/clang 正是如此处理的。

GCC 11对此似有不同意见。解决方法是强行指定 extern "C++”。这个点了明天还要上班,实在是不想拆编译器玩,先这样吧。