频道栏目
首页 > 系统 > Linux > 正文

Linux黑客的Python编程

2017-09-12 10:34:02      个评论    来源:Skywalker86的博客  
收藏   我要投稿

直接从C库中调用printf()函数打印一条消息,Windows中的C库位于C:\WINDOWS\system32\msvcrt.dll,Linux 中的 C 库位于/lib/libc.so.6。

Windows下的代码如下:

>>> from ctypes import *
>>> msvcrt = cdll.msvcrt
>>> message_string = "Hello world!\n"
>>> msvcrt.printf("Testing: %s", message_string)

输出结果:

C:\Python25> python chapter1-printf.py
Testing:Hello world!
C:\Python25>

Linux下的代码如下:

>>> from ctypes import *
>>> libc = CDLL("libc.so.6")
>>> message_string = "Hello world!\n"
>>> libc.printf("Testing: %s", message_string)

输出结果:

# python /root/chapter1-printf.py
Testing:Hello world!
#

尝试在Mac OS系统下达到相同目标:

mac os X 的c语言库在哪里?

/usr/lib/libSystem.dylib
libc.dylib和libm.dylib都是到这个文件的符号链接。

于是尝试以下代码:

>>> from ctypes import *
>>> libc = CDLL("libc.dylib")
>>> message_string = "Hello world!\n"
>>> libc.printf("Testing: %s", message_string)

输出结果为:


1

将libc.dylib换为libm.dylib输出结果一样。

待解决。

上一篇:【linux go语言安装】阿里云下go语言如何安装?
下一篇:linux(ubuntu)环境下安装IDEA
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站