python中如何移植c到d03
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章给大家介绍python中如何移植c到d03,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。// In Cextern void someCFunction(void);//
千家信息网最后更新 2025年11月13日python中如何移植c到d03
这篇文章给大家介绍python中如何移植c到d03,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
// In C
extern void someCFunction(void);
// In D
extern( C ) void someCFunction();
extern(Windows),则表明stdcall调用约定.在c头上类似__stdcall前缀.在窗口上,则是类似WINAPI, APIENTRY,和PASCAL的东西.
// In C
#define WINAPI __stdcall
extern WINAPI void someWin32Function(void);
// In D
extern( Windows ) void someWin32Function();
extern(System)在绑定OpenGL等库时有用.在窗口中用stdcall,在其他系统用cdecl.
// In C
#ifdef _WIN32
#include
#define MYAPI WINAPI
#else
#define MYAPI
#endif
extern MYAPI void someFunc(void);
// In D
extern(System) void someFunc();
//跟随系统走
实践中有许多技术来添加调用约定,要仔细检查头.在d中,可以统一起来,而不是挨个加:
//属性块
extern( C )
{
void functionOne();
double functionTwo();
}
//或这样
extern( C ):
void functionOne();
void functionTwo();
d曾经有Typedefs,其创建新类型,而不是别名.d的别名,则不创建新类型,只是另外一个名字.typedef已过时,除了在构中,别名是c的typedef在d的等价物.c中有大量typedef.
typedef int foo_t;
typedef float bar_t;
d接口中最好保留原型名.d接口要尽量兼容c接口.这样,示例啊,其他代码啊都可以容易的移植过来.
第一件事是如何将整/浮转至d.对接细节文档
这样:
alias int foo_t;
alias float bar_t;
注意长/正长.
// C头
typedef long mylong_t;
typedef unsigned long myulong_t;
//D模块
import core.stdc.config;
//导入是私,但别名是公,外部可见
alias c_long mylong_t;
alias c_ulong myulong_t;
长正长见入门
翻译c的stdint.h时,两种方法:
// From SDL_stdinc.h
typedef int8_t Sint8;
typedef uint8_t Uint8;
typedef int16_t Sint16;
typedef uint16_t Uint16;
...
// In D, 不用core.stdc.stdint
alias byte Sint8;
alias ubyte Uint8;
alias short Sint16;
alias ushort Uint16;
...
//用导入
import core.stdc.stdint;
alias int8_t Sint8;
alias uint8_t Uint8;
alias int16_t Sint16;
alias uint16_t Uint16;
...
用本地类型,长度固定,很直接.用core.stdc.stdint,复制了一份c头,用别名替换typedef.
关于python中如何移植c到d03就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
别名
移植
接口
类型
内容
更多
系统
帮助
约定
不错
过时
不用
东西
中用
代码
兴趣
前缀
原型
只是
名字
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
个人信息基础数据库含哪些人
支付参数传入数据库
网络安全管理员高级工
网络技术端口号是什么
网络安全公司绿
包头职业技术计算机网络技术
魔兽世界服务器人口查询宏
网络安全法保护隐私法条
数据库的容灭属于系统安全
网络安全防范软件排名
物联网时代的网络安全论文
武汉 万户网络技术有限公司
关于软件开发市场营销论文
数据库第五章测验
新增的APN服务器写什么
美国服务器cn2线路
东莞市锐讯网络技术
数据库排名靠前
风电场网络技术人员
北京总部经济发展数据库
网络安全管理汇报
采集信息数据库
整机服务器
军营网络安全宣传演讲
网络安全教育活动汇报
小程序数据库城市
网络安全建设三大定律
数据库文件无法执行
计算机网络技术杨云第五版
数据库使用人员管理