如何将c移植到d06中
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"如何将c移植到d06中",在日常操作中,相信很多人在如何将c移植到d06中问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何将c移植到d06中"的疑惑
千家信息网最后更新 2026年11月02日如何将c移植到d06中
这篇文章主要介绍"如何将c移植到d06中",在日常操作中,相信很多人在如何将c移植到d06中问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何将c移植到d06中"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
方法.但问题是...里面放什么,取决于c编译器,从最不重要位还是最重要位开始.及字段间是否有空白间隙.与std.bitmanip.bitfields遇着的问题一样.
我遇见过,然后用单个不能访问它的标志位字段,如果在多平台同其他编译器的库一起运行,没有简单解决方法.只有交给用户了.特定绑定,针对特定编译器/特定平台.
函数指针.一般作为回调.d有自己的语法,所以必须适配.
int function() MyFuncPtr;
//d风格指针声明
格式为中类型->函数关键字->参数列表->函数指针名
直接用MyFuncPtr也可以,但也可定义别名.
alias int function() da_MyFuncPtr;
da_MyFuncPtr MyFuncPtr;
//没啥意思
int foo(int i)
{
return i;
}
void main()
{
int function(int) fooPtr;//
fooPtr = &foo;
alias int function(int) da_fooPtr;
da_fooPtr fooPtr2 = &foo;
import std.stdio;
writeln(fooPtr(1));
writeln(fooPtr2(2));
}
//这样转换
// In C, foo.h
typedef int (*MyCallback)(void);
// In D
extern( C ) alias int function() MyCallback;
用别名,这样,你可像c一样用.
// In C, foo.h
extern void foo(int (*BarPtr)(int));
// In D.
// 1这样
extern( C ) void foo(int function(int) BarPtr);
// 2这样
extern( C ) alias int function(int) BarPtr;
extern( C ) void foo(BarPtr);
2较好,可以复用.接下来,构中内联声明函数指针.
// In C, foo.h
typedef struct
{
int (*BarPtr)(int);
} baz_t;
// In D
struct baz_t
{
extern( C ) int function(int) BarPtr;
}
静态绑定中的函数声明.d中不必声明.实现即是声明.也与你实现/声明位置无关.为链接c库,不必也无权访问实现,因而绑定.为了调用他们,d要知道存在他们.以便链接时找到正确地址.因此,必须声明.
// In C, foo.h
extern int foo(float f);
extern void bar(void);
// In D
extern( C )
{
int foo(float);
void bar();
}
动态绑定.用函数指针而不是函数声明.简单声明是不行的.先要考虑初化函数指针.
// D中.
int foo() { return 1; }
void* getPtr() { return cast(void*) &foo; }
void main()
{
int function() fooPtr;
fooPtr = getPtr();
}
//编译得到
fptr.d(10): Error: 不能隐式把(getPtr())的(void*)类型转为`int function()`
到此,关于"如何将c移植到d06中"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
函数
指针
移植
学习
编译
方法
编译器
问题
重要
接下来
别名
字段
平台
更多
类型
链接
帮助
不行
实用
位置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京欣网互联网络科技
互联网科技公司的优势
科技和互联网公司
润盈互联网科技
互联网科技英文翻译
互联网 科技服务平台
成都玖崟互联网科技有限公司乐商圈怎么样
须眉科技是互联网公司吗
中国互联网有什么科技含量
银川新华互联网科技职业技术培训学校图片
世界互联网科技公司市值排名
浙江互联网科技研学营
华夏互联网科技业
科技赋能视角下互联网保险发展
区块链结合互联网科技
西安左小互联网科技有限公司
科技和互联网行业的特点
恒生科技指数 中概互联网
承德科技产业互联网平台
互联网 科技节活动 微视频大赛
广州为想互联网科技有限公司
万易互联网科技有限公司
互联网公司会议桌创意科技软装饰
农村开互联网科技讲堂
互联网科技商业
苏州铭阳互联网科技有限公司
晋城互联网科技
美国互联网科技公司
2021世界互联网领先科技成果发布
华人运通互联网科技公司