python中如何移植c到d03
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这篇文章给大家介绍python中如何移植c到d03,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。// In Cextern void someCFunction(void);//
千家信息网最后更新 2025年02月06日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安全错误
数据库的锁怎样保障安全
pb txt导入数据库
桓台办公系统oa软件开发公司
isc网络安全怎么样
毕业想去学软件开发
广州浚峰网络技术
宁波软件开发驻场哪家可靠
大学校园网络安全课程答案
有杀气童话2各服务器互通吗
服务器登录ip和密码上不去
浙江服务器阵列卡电池云空间
白银网络安全工程师职业培训
什么叫数据库的共享
杭州驰文网络技术有限公司电话
服务器小游戏预告
ps5育碧服务器 dns
服务器外网管理
运维需要软件开发
vlog软件开发的薪酬
数据库实践学习体会
数据库的生命周期可分两个阶段
sql数据库怎么查数据
绍兴软件开发工程师
2022年春季高考网络技术样题答案
苏州软件开发多少钱
天采互联网科技股份有限公司
mysql数据库半同步复制
四川数据网络技术服务技术
恐龙岛绝巨人服服务器
java服务器 并发
电脑服务器匹配卡