Python论坛  - 讨论区

标题:[python-chinese] 关于在C程序中调用Python的问 题

2006年10月19日 星期四 14:56

Yingbo Qiu qiuyingbo在gmail.com
星期四 十月 19 14:56:35 HKT 2006

这是因为C编译器去找 __gxx_personality_v0 这个符号..

凡是用 c++ 编译出来的函数库,符号名都不是原来的了,估计是为了支持虚函数.

所以 C 编译器是不能链接 c++ 的库的,除非用 extern C 把头文件声明包含起来 (我记不清楚了.. 我对 C++ 所知甚少)

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月19日 星期四 15:04

迎风飘逸 pesoft在126.com
星期四 十月 19 15:04:47 HKT 2006

Python 邮件列表,你好 

  C++ 由于要支持函数重载所以编译后的函数名会发生一些改变,而且这种改变在使用各种编译器后产生的都不相同。除非使用 extern "C" 声明了的函数名会保持原有的不变。这也是 C++ 程序为什么不能很方便地到移植的原因!

迎风飘逸,pesoft at 126.com 
2006-10-19  
----- Original Message -----  
From: Yingbo Qiu  
To: python-chinese  
Sent: 2006-10-19, 14:56:35 
Subject: (瑞星提示-此邮件可能是垃圾邮件)Re: [python-chinese]关于在C程序中调用Python的问 题 


这是因为C编译器去找 __gxx_personality_v0 这个符号.. 

凡是用 c++ 编译出来的函数库,符号名都不是原来的了,估计是为了支持虚函数. 

所以 C 编译器是不能链接 c++ 的库的,除非用 extern C 把头文件声明包含起来 (我记不清楚了.. 我对 C++ 所知甚少) 
_______________________________________________ 
python-chinese 
Post: send python-chinese at lists.python.cn 
Subscribe: send subscribe to python-chinese-request at lists.python.cn 
Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn 
Detail Info: http://python.cn/mailman/listinfo/python-chinese

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号