C语言代码套用在Delphi编程中[1]

 我来答
天罗网17
2022-11-06 · TA获得超过6181个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:72.5万
展开全部

  Delphi适合用来开发应用程序 但是有时侯一些底层的东西可以直接使用C语言来开发 我在公司经常开发跟硬件相关的项目 而很多硬件的SDK包是用C来写的 这个时候我一般把它们转换成Delphi(PASCAL)语法的代码

  一:将C语言的程序编译成DLL供Delphi调用 这种方法过于简单 而且需要额外带一个DLL文件 所以不在本文的讨论范围之内

  二:直接转换C语言代码到DELPHI代码

  C语言的函数格式与Delphi不同 它们是函数返回类型在前 函数声明在后 对于没有任何返回类型的函数则定义为VOID类型

  例如:Delphi中函数function MyFunction:(intIN:integer):Bool;相应的C语言代码就变成Bool MyFunction(int intIN);又例如procedure MyProcedure;====>void MyProcedure;采用这种方法 一般要求对C语言比较熟悉 我一般是采用这种方法 下面是我收集整理的自己常用的Delphi与C之间的类型对应表 其中左边是C类型 右边是对应的Delphi类型:

  以下是引用片段: 

ABC > TABC   ACCEL > TAccel   ATOM > TAtom   BITMAP > TBitMap   BITMAPCOREHEADER > TBitmapCoreHeader   BITMAPCOREINFO > TBitmapCoreInfo   BITMAPFILEHEADER > TBitmapFileHeader   BITMAPINFO > TBitmapInfo   BITMAPINFOHEADER > TBitmapInfoHeader   BOOL > Bool   CBT_CREATEWND > TCBT_CreateWnd   CBTACTIVATESTRUCT > TCBTActivateStruct   CHAR > Char   CHAR* > PChar   CLIENTCREATESTRUCT > TClientCreateStruct   COLORREF > TColorRef   PAREITEMSTRUCT > TCompareItemStruct   STAT > TComStat   CREATESTRUCT > TCreateStruct   CTLINFO > TCtlInfo   CTLSTYLE > TCtlStyle   CTLtype > TCtltype   DCB > TDCB   DDEAACK > TDDEAck   DDEADVISE > TDDEAdvise   DDEDATA > TDDEData   DDEPOKE > TDDEPoke   DEBUGHOOKINFO > TDebugHookInfo   DELETEITEMSTRUCT > TDeleteItemStruct   DEVMODE > TDevMode   DOUBLE > Double   DRAWITEMSTRUCT > TDrawItemStruct   DWORD > LongInt   ENUMLOGFONT > TEnumLogFont   EVENTMSG > TEventMsg   FARPROC > TFarProc   FIXED > TFixed   FLOAT > Single   GLYPHMETRICS > TGlyphMetrics   HANDLE > THandle   HANDLETABLE > THandleTable   HARDWAREHOOKSTRUCT > THardwareHookStruct   HELPWININFO > THelpWinInfo   INT > Integer   KERNINGPAIR > TKerningPair   LOGBRUSH > TLogBrush   LOGFONT > TLogFont   LOGPALETTE > TLogPalette   LOGPEN > TLogPen   LONG > LongInt   LONG DOUBLE > Extended   LONG INT > LongInt   LPSTR > PChar   LPWSTR > PWideChar   MAT > TMat   MDICREATESTRUCT > TMDICreateStruct   MEASUREITEMSTRUCT > TMeasureItemStruct   MENUITEMTEMPLATE > TMenuItemTemplate   MENUITEMTEMPLATEHEADER > TMenuItemTemplateHeader

lishixinzhi/Article/program/Delphi/201311/8458

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式