c语言编程 在Delphi编程中使用C语言代码[2]
在Delphi编程中使用C语言代码[2]
三:在Delphi中直接链接C语言的OBJ文件![c语言编程 在Delphi编程中使用C语言代码[2]](http://img.zhputi.com/uploads/6f83/6f83f95e891db819ba2786111746200c13869.jpg)
这种方法的好处在于最终EXE不用带任何外部文件 也不用对C语言过于熟悉
我们都知道 代码在编译成可执行文件(或DLL OCX文件 下同)之前 都必须得先生成OBJ文件(DELPHI一般是DCU文件 但也可以通过编辑编译选项生成OBJ文件) 然后把OBJ文件和资源文件(* RES)链接成最终的可执行文件 利用这个方法 我们可以直接把OBJ文件链接到我们的程序里面
不过需要注意的是 编译器不同 生成的OBJ文件也不一样 Microsoft的编译器生成的OBJ文件是COFF格式 而Borland的C++Builder生成的是OMF格式 因为我们需要在Delphi中链接 所以必须使用CBC 或者Borland官方站点带的免费编译工具 下面我们通过一个简单的例子来说明具体操作步骤:
这个例子是简单的提供一个函数 用来判断一个文件是否为Dat格式的VCD文件 头文件声明如下:
以下是引用片段 #ifndef DatFormat_H #define DatFormat_H #include #pragma pack(push )//这个与下面的配对 一般用到记录类型的时候需要定义 这里实际不用 #ifdef __cplusplus extern C { #endif extern BOOL CheckIsDatFile(const char * FileName BOOL *IsDatFile); #ifdef __cplusplus } #endif #pragma pack(pop) #endif // DatFormat_H 具体实现代码DatFormat c如下: #include DatFormat h BOOL CheckIsDatFile(const char * FileName BOOL *IsDatFile) { HANDLE hFile; DWORD dwBytesRead; BOOL re; char MyBuf[ ]; *IsDatFile=FALSE; //建立读文件句柄 hFile = CreateFile(FileName GENERIC_READ FILE_SHARE_READ NULL OPEN_EXISTING ); if (hFile == INVALID_HANDLE_VALUE) return FALSE; //读文件 re = ReadFile(hFile &MyBuf &dwBytesRead NULL); if (dwBytesRead!= ) { CloseHandle(hFile); return FALSE; } //读文件失败的时候 if (re!=TRUE) { CloseHandle(hFile); return FALSE; } CloseHandle(hFile); *IsDatFile=(MyBuf[ ]== R && MyBuf[ ]== I && MyBuf[ ]== F && MyBuf[ ]== F ); return(TRUE); }
lishixinzhi/Article/program/Delphi/201311/24759相关文章
- 用c语言编写的代码是一个 我是一名C语言初学者,请各位大虾帮帮忙,用C语言编写一个程序,求1+2+3+4+5+6·····+100
- <cr>在c语言中是什么意思 c语言中exp是什么函式
- C语言是编译执行的语言 请问Linux 下进行C语言 的开发,一般用什么软体,我指的是那种像VC++一样的有没有。
- c语言是一种什么编程语言 计算机硬件描述语言(VHDL)与编程语言(C语言)的区别及关系,
- c语言编译时 一步完成封装编译
- c编程代码大全 C语言代码套用在Delphi编程中[1]
- C语言编程代码 C语言代码套用在Delphi编程中[3]
- 字符和字符串 Delphi开发技巧:字符串的相关判断[4]
- c++面向对象程序设计 Delphi面向对象的编程方法(五)
- c语言编程 在Delphi编程中使用C语言代码[3]
爱学记

微信收款码
支付宝收款码