滴水逆向联盟
标题:
如何调用编译后的函数
[打印本页]
作者:
夺命书生
时间:
2014-11-19 05:41
标题:
如何调用编译后的函数
在 C++ 程序中调用被C编译器编译后的函数,为什么要加extern "c" ?
外部函数就是可以被其他源文件调用的函数,定义外部函数时,使用关键字 extern 进行修饰。
在使用一个外部函数时,要先用 extern 生命所用的函数是外部函数 。
例如函数头可以写成下面的形式:
extern int Add(int iNun1,int iNum2);
这样,函数 Add 就可以被其他源文件调用进行家访运算。
C++ 支持函数重载,而C语言不支持函数重载,函数被C++ 编译后,在库中的名称与C语言不同,
假设某个函数原型为:
void foo(int x,int y);
该函数被C编译后,在库中的名称为_foo ,而c++编译器则会生成像 _foo_int_int 之类的名称,
C++ 提供了C链接交换的指定符号 extern "c" 来解决名称匹配问题。
C语言函数不仅仅可以被C函数调用,其他语言也可以通过一定的方式来进行调用C函数,足可见C函数得可用性。
作者:
大禹治水
时间:
2014-11-19 06:42
对新手还是很有用的。
欢迎光临 滴水逆向联盟 (http://dtdebug.com/)
Powered by Discuz! X3.2