暂无信息 |
当前位置:厦门光沃自动化设备有限公司>> FBM201dFBM201d-PLC通讯模块
FBM201d
FBM201d
C和C++之间库的互相调用
昨晚有个朋友问我关于在C中调用C++库的问题,今天午饭后,由于脖子痛的厉害而没有加入到我们组的“每天一战”的行列中去,所以正好将C和C++之间的库调用关系做个总结。
1.extern “C”的理解:
很多人认为“C”表示的C语言,实际并非如此,“C”表示的是一种链接约定,只是因C和C++语言之间的密切关系而在它们之间更多的应用而已。实际上Fortran和汇编语言也常常使用,因为它们也正好符合C实现的约定。
extern “C”指令描述的是一种链接约定,它并不影响调用函数的定义,即时做了该声明,对函数类型的检查和参数转换仍要遵循C++的标准,而不是C。
2.extern “C”的作用:
不同的语言链接性是不同的,那么也决定了它们编译后的链接符号的不同,比如一个函数void fun(double d),C语言会把它编译成类似_fun这样的符号,C链接器只要找到该函数符号就可以链接成功,它假设参数类型信息是正确的。而C++会把这个函数编译成类似_fun_double或_xxx_funDxxx这样的符号,在符号上增加了类型信息,这也是C++可以实现重载的原因。
那么,对于用C编译器编译成的库,用C++直接链接势必会出现不能识别符号的问题,是的,需要extern “C”的时刻来了,它就是干这个用的。extern “C” 的作用就是让编译器知道要以C语言的方式编译和连接封装函数。
咨询 或
购买 : 或:
REXROTH INDRAMAT RMI-01.00 CARD
REXROTH INDRAMAT RM-I-02 INPUT MODULE 120VAC
REXROTH INDRAMAT RMI.02.00 INPUT MODULE FOR RECO
REXROTH INDRAMAT RM-I-04 CARD
REXROTH INDRAMAT RMK02.2-LWL-SER-FW COMMUNICATIONS MODULE 2MBD BAUDRATE
REXROTH INDRAMAT RMK-12.2-IBS-BKL COMMUNICATION MODULE 500KBD
REXROTH INDRAMAT RM-O-01 OUTPUT MODULE 24VDC
REXROTH INDRAMAT RM-O-02 OUTPUT MODULE 24VDC
REXROTH INDRAMAT RMO-02.00 MODULE
REXROTH INDRAMAT RM-O-04 OUTPUT MODULE FOR RECO RELAY
REXROTH INDRAMAT RMO.04.00 OUTPUT MODULE FOR RECO
REXROTH INDRAMAT S2-DDS2 CONNECTOR KIT/CABLE
REXROTH INDRAMAT S78-DDS-2 CONNECTOR KIT SET FOR DS46-00-FW AND DS46-01-FW
REXROTH INDRAMAT SERVICECHARGE SERVICE
REXROTH INDRAMAT SH2-256-5-1N RESOLVER
REXROTH INDRAMAT SHS PROGRAMMER
REXROTH INDRAMAT SIOB-01 COMMUNICATIONS PROCESSOR
REXROTH INDRAMAT SIOB0100 COMMUNICATIONS PROCESSOR
REXROTH INDRAMAT SOT02-ER-FW STATION OPERATOR CONTROL PANEL
REXROTH INDRAMAT SOTO2-E2R-FW OPERATOR TERMINAL
REXROTH INDRAMAT SSE PROGRAMMER
REXROTH INDRAMAT TAM PROGRAMMING PANEL FOR TRANS01 KEYPAD REMOTE MOUNT
REXROTH INDRAMAT TBM1.1-020-W1 BLEEDER MODULE
REXROTH INDRAMAT TBM1.1-20-W1/115 BLEEDER MODULE
REXROTH INDRAMAT TBM1.1-20-W1/220V SERVO BLEEDER AC
REXROTH INDRAMAT TBM1.20-040-W1/220 SERVO BLEEDER W/220VAC INTERNAL FAN
REXROTH INDRAMAT TBM1.2-040-W1-024 BLEEDER MODULE
REXROTH INDRAMAT TBM1.20-W1-220 BLEEDER MODULE
REXROTH INDRAMAT TBM1.2-40-W1/115 BLEEDER MODULE
请输入账号
请输入密码
请输验证码
以上信息由企业自行提供,信息内容的真实性、准确性和合法性由相关企业负责,仪表网对此不承担任何保证责任。
温馨提示:为规避购买风险,建议您在购买产品前务必确认供应商资质及产品质量。