我正在编写一个从C到Delphi的程序,以便在遇到 enum &的问题时制作x64版本。的 fwrite的
enum{ ou2bufsize=1<<16 };
byte ou2buf[ou2bufsize];
和
fwrite( ou2buf, 1,l, h );
请你告诉我这些是什么&amp;他们是如何在德尔福宣布的?
答案 0 :(得分:2)
enum{ ou2bufsize=1<<16 };
是一个名为ou2bufsize
的常量,值为65536(1向左移16位)。 Delphi的等价物是:
const
ou2bufsize = 1 shl 16;
byte ou2buf[ou2bufsize];
是一个固定大小的字节数组,名为ou2buf
,包含ou2bufsize
个数组元素。 Delphi的等价物是:
ou2buf: array[0..ou2bufsize-1] of byte;
fwrite( ou2buf, 1,l, h );
正在从l
的起始内存地址向ou2buf
所代表的文件写入h
个1字节大小的项目。 Delphi的等价物是:
FileWrite(h, ou2buf[0], l);
其中h
是由THandle
或FileCreate()
返回的FileOpen()
,而l
是要写入的字节数。
答案 1 :(得分:1)
x86_64-w64-mingw32-g++.exe -Llib\irrlicht-1.8.3\lib\Win32-gcc -Llib\irrKlang-1.5.0\lib\Win32-gcc -Llib\irrlicht-1.8.3\lib\Win32-gcc -Llib\irrKlang-1.5.0\lib\Win32-gcc -Llib\irrKlang-1.5.0\bin\win32-gcc -o BomberPark.exe .objs\main.o .objs\srcs\AppSetting.o .objs\srcs\Bombs.o .objs\srcs\Camera.o
.objs\srcs\Sound.o:Sound.cpp:(.text+0x24): undefined reference to irrklang::createIrrKlangDevice(irrklang::E_SOUND_OUTPUT_DRIVER, int, char const*, char const*)'
collect2.exe: error: ld returned 1 exit status
定义一个名为enum{ ou2bufsize=1<<16 };
的常量,其值为ou2bufsize
(1向左移位16位)。
1 shl 16
定义了byte ou2buf[ou2bufsize];
个字节的数组(名为ou2buf
),编号从ou2bufsize
到0
。
ou2bufsize-1
将fwrite( ou2buf, 1,l, h );
的第一个l
字节写入输出句柄ou2buf
。