2130得票17回答
在C++中,extern "C"有什么作用?

extern "C"在C++代码中的作用是什么? 例如:extern "C" { void foo(); }

611得票11回答
如何列出.so文件中的符号列表

如何列出从.so文件中导出的符号?如果可能的话,我还想知道它们的来源(例如它们是否来自静态库)。 我正在使用gcc 4.0.2,如果有区别请告诉我。

150得票11回答
为什么在C++中需要使用extern "C"{ #include <foo.h> }?

我们为什么需要使用:extern "C" { #include &lt;foo.h&gt; } 具体来说: 我们应该在什么情况下使用它? 编译器/链接器层面上发生了什么需要我们使用它? 从编译/链接的角度来看,这如何解决需要使用它的问题?

140得票9回答
为什么C函数不能进行名称重载?

我最近参加了一次面试,其中有一个问题是什么是C++代码中的extern "C"的用途。我回答说它用于在C++代码中使用C函数,因为C不使用名称重载。然后问我为什么C不使用名称重载,老实说我回答不上来。 我知道当C++编译器编译函数时,它会给函数赋予特定的名称,主要是因为在C++中我们可以有相...

129得票16回答
解析 std::type_info::name 的结果

目前我正在编写一些日志记录代码,其中应该包括打印有关调用函数的信息。这应该相对容易,标准C++中有一个type_info类,其中包含了typeid'd类/函数等的名称,但它是被修饰过的。它并不是很有用。例如,typeid(std::vector&lt;int&gt;).name()返回St6v...

76得票10回答
名称重整是什么,它是如何工作的?

请解释什么是名称修饰,它是如何工作的,它解决了哪些问题,并在哪些上下文和语言中使用。编译器选择的名称(例如为什么选择特定的名称)是名称修饰策略的一个加分项。

61得票2回答
如何在Linux上查看(C和C++)二进制文件中的符号?

你们使用哪些工具?如何对C++符号进行去混淆以便将其传递给性能分析工具,例如opannotate? 谢谢。

55得票5回答
Scala:如何使用反射动态实例化对象并调用方法?

在Scala中,使用反射动态实例化对象并调用方法的最佳方法是什么? 我想做的是相当于Java代码的Scala版本:Class class = Class.forName("Foo"); Object foo = class.newInstance(); Method method = cla...

52得票3回答
从解码后的名称获取混淆名称

有没有办法从g++的反汇编名称中获取被加密的名称。 例如,我有反汇编名称func(char*,int),我该怎么做才能获取被加密名称,即 _Z4funcPci? 我的问题与g ++有关。

50得票4回答