没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|实施案例|编辑:我只采一朵|2017-06-20 14:34:19.000|阅读 171 次
概述:话不多说,直接上代码
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

2.操作int
>>> from ctypes import * >>> c=c_int(34) >>> c c_int(34) >>> c.value 34 >>> c.value=343 >>> c.value 343
3.操作字符串
>>> p=create_string_buffer(10) >>> p.raw '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' >>> p.value='fefefe' >>> p.raw 'fefefe\x00\x00\x00\x00' >>> p.value='fefeeeeeeeeeeeeeeeeeeeeeee' #字符串太长,报错 Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: string too long
4.操作指针
>>> i=c_int(999) >>> pi=pointer(i) >>> pi <__main__.LP_c_int object at 0x7f7be1983b00> >>> pi.value Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'LP_c_int' object has no attribute 'value' >>> pi.contents c_int(999) >>> pi.contents=c_long(34343) >>> pi.contents c_int(34343)
5.c的结构体
#定义一个c的structure,包含两个成员变量x和y
>>> class POINT(Structure):
... _fields_=[('x',c_int),('y',c_int)]
...
>>> point=POINT(2,4)
>>> point
<__main__.POINT object at 0x7f7be1983b90>
>>> point.x,point.y
(2, 4)
>>> porint=POINT(y=2)
>>> porint
<__main__.POINT object at 0x7f7be1983cb0>
>>> point=POINT(y=2)
>>> point.x,point.y
(0, 2)
定义一个类型为POINT的数组
>>> POINT_ARRAY=POINT*3
>>> pa=POINT_ARRAY(POINT(2,3),POINT(2,4),POINT(2,5))
>>> for i in pa:print pa.y
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'POINT_Array_3' object has no attribute 'y'
>>> for i in pa:print i.y
...
3
4
5
6.访问so文件
1).创建一个c文件
#include <stdio.h>
int hello_world(){
printf("Hello World\n");
return 0;
}
int main(){
hello_world();
return 0;
}
2).编译成动态链接库
gcc hello_world.c -fPIC -shared -o hello_world.so
3).python中调用库中的函数
from ctypes import cdll
c_lib=cdll.LoadLibrary('./hello_world.so')
c_lib.hello_world()
sum.c
int sum(int num){
long sum=0;
int i =0;
for( i=1;i<=num;i++){
sum=sum+i;
};
return sum;
}
int main(){
printf("%d",sum(10));
return 0;
}
1. 直接用c来执行,通linux 的time命令来记录执行的用时
sum.c:
#include <stdio.h>
int sum(int num){
long sum=0;
int i =0;
for( i=1;i<=num;i++){
sum=sum+i;
};
return sum;
}
int main(){
int i ;
for (i=0;i<1000000;i++){
sum(100);
}
return 0;
}
测试结果的例子:
2.通过Python调用so文件和python的测试结果
sum_test.py:
def sum_python(num):
s = 0
for i in xrange(1,num+1):
s += i
return s
from ctypes import cdll
c_lib = cdll.LoadLibrary('./sum.so')
def sum_c(num):
return c_lib.sum(num)
def test(num):
import timeit
t1 = timeit.Timer('c_lib.sum(%d)' % num, 'from __main__ import c_lib')
t2 = timeit.Timer('sum_python(%d)' % num, 'from __main__ import sum_python')
print 'c', t1.timeit(number=1000000)
print 'python', t2.timeit(number=1000000)
if __name__ == '__main__':
test(100)
测试结果的例子
c 1.02756714821 python 7.90672802925
3.测试erlang的测试结果
刚刚学了erlang,那就一起测试一下erlang的运算性能
sum.erl:
-module(sum). -export([sum/2,sum_test/2]). sum(0,Sum) -> Sum; sum(Num,Sum) -> sum(Num-1,Sum+Num). sum_test(Num,0) -> 0; sum_test(Num,Times) -> sum(Num,0), sum_test(Num,Times-1).
调用:
timer:tc(sum,sum_test,[100,1000000]).
测试结果的例子:
{2418486,0}
4.测试结果
用上面的测试方法,进行10次测试,去除最大值和最小值,再计算平均值,得出:

单位:秒
本文转载自:36大数据

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn




2023年2月24日,国际独立第三方检测、检验和认证机构德国莱茵TÜV集团为中移智行网络科技有限公司(以下简称“中移智行”)颁布了A-SPICE L3和ISO26262功能安全产品ASIL B认证证书,标志着中移智行在软件质量体系管理和产品技术方面走在行业前端,满足国际标准要求。
QinetiQ Space N.V.是总部位于英国的QinetiQ集团的比利时航天部门,专注于开发部署在恶劣太空环境中的高可靠性产品,包括航空电子设备、电力推进、微重力研究仪器、机器人系统、太空安全、太空探索、遥感和小型卫星系统。
NEC Telecom Software Philippines(NSP)是日本NEC Corporation 的子公司,位于马尼拉。NSP开发宽带和移动通信技术,以及 IT 和网络解决方案,以其高质量的输出满足客户最高水平的满意度。
英国赫尔大学(University of Hull)是一个发展个人、社交和学术的综合研究型大学。在最近一次的全国评估中,计算机科学研究在英国的影响力排名并列第五。专业领域包括计算科学、计算机游戏化、可靠地智能系统、机器人和人工智能、仿真和可视化。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
半岛外围网上直营