谈delphi记录类型与vc中的结构转换
//delphi
procedure TForm1.Button1Click(Sender: TObject);
type TRecord1=record
a1:byte;
d1:Cardinal;
end;
type TRecord2=packed record
a1:byte;
d1:Cardinal;
end;
begin
showmessage(IntToStr(SizeOf(TRecord1)));//输出值为8
showmessage(IntToStr(SizeOf(TRecord2)));//输出值为5
end;
//vc
typedef struct tagTStruct1
{
unsigned char a1;
unsigned int d1;
}TStruct1,*LStruct1;
void Cdialog1::OnBnClickedOk()
{
int value=0;
char value1[100];
CString value2;
value2="";
itoa(sizeof(TStruct1),value1,10);
value2.Format("struct is %s",value1);
AfxMessageBox(value2); //输出值为8
}
以上代码均调试过了,想请问vc中为什么取出的占用大小也是8啊,这样起不是很占用资源吗?(对比与delphi packed record类型),本人对vc不太了解,也没用过,只是最近需要看些代码,才弄了下,只是本着相互学习的态度,请大家场所语言,分不够我会加的
procedure TForm1.Button1Click(Sender: TObject);
type TRecord1=record
a1:byte;
d1:Cardinal;
end;
type TRecord2=packed record
a1:byte;
d1:Cardinal;
end;
begin
showmessage(IntToStr(SizeOf(TRecord1)));//输出值为8
showmessage(IntToStr(SizeOf(TRecord2)));//输出值为5
end;
//vc
typedef struct tagTStruct1
{
unsigned char a1;
unsigned int d1;
}TStruct1,*LStruct1;
void Cdialog1::OnBnClickedOk()
{
int value=0;
char value1[100];
CString value2;
value2="";
itoa(sizeof(TStruct1),value1,10);
value2.Format("struct is %s",value1);
AfxMessageBox(value2); //输出值为8
}
以上代码均调试过了,想请问vc中为什么取出的占用大小也是8啊,这样起不是很占用资源吗?(对比与delphi packed record类型),本人对vc不太了解,也没用过,只是最近需要看些代码,才弄了下,只是本着相互学习的态度,请大家场所语言,分不够我会加的
...全文
相关推荐
VC的DLL类导出后,用Delphi调用方法及源码
在VC中的DLL类导出以后完全是可以被delphi调用的.源码中有详细介绍和说明文档.
VC转DELPHI的东东
1、TestProg.rar,主要是注意他们的按钮事件,TestProgDlg.cpp中能看到 2、DriveExplorer中,主要是LeftView.cpp
Delphi 调用VC生成的DLL
详细描述Delphi 调用VC生成的DLL的方法,并有函数说明
Qt.VC调用delphi编写的dll lib,详细方法
delphi可以很方便的封装第三方库,导出dll,此方法可以很方便的生成供Qt或VC调用的Lib文件,免去动态加载的麻烦,喜欢的朋友可以试下。我就是这么用的。
Delphi生成VC 链表的例子.rar
Delphi生成VC 链表的例子,Unit1.pas单元演示了Delphi中链表的建立,说起链表似乎会让我无头绪,不知这个例子会不会让你觉得明朗起来。


语言基础/算法/系统设计
