DELPHI的程序最小多大?

wangda 2002-03-03 12:15:20
DELPHI的程序最小多大?
...全文
110 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
68467263 2002-03-03
  • 打赏
  • 举报
回复
Delphi将几乎所有我们要用到的东西进行了封装,让程序员以面向对象的方法来快速高效地完成任务。正如使用MFC编写程序,其生成的最终可执行文件要比使用纯C语言编制的程序大得多,Delphi生成的最终程序往往很大。
  其实Delphi本质上仍是一种编程语言,只不过它的可视化特性太过强大,使得程序员往往忘了这一点。使用纯C语言编制Windows应用程序的朋友都知道,常规的方法是为Windows提供一个回调函数,在这个回调函数中处理各种消息,而程序的入口是一个名为WinMain的函数。
  如果将Delphi看成一个单纯的PASCAL语言,就可以按上述的常规方法编制程序,下面就是这样一个例子,最终生成的可执行程序十分小,只有不到10KB。使用C语言编程的朋友可得会觉得下面的代码很眼熟。

program MyApp;

uses Windows, Messages;

// 回调函数
function AppWindowProc(
hWnd:HWND; uMsg:UINT;
wParam:WPARAM; lParam:LPARAM):LRESULT; stdcall;
begin
Result := 0;
case uMsg of
WM_DESTROY:begin
PostQuitMessage(0);
Exit;
end;
end;
Result :=
DefWindowProc(hWnd, uMsg, wParam, lParam);
end;

var
wc: TWndClass;
hWnd: Integer;
MSG: TMsg;
begin
// 程序从这里开始执行
wc.style := CS_VREDRAW or CS_HREDRAW;
wc.lpfnWndProc := @AppWindowProc;
wc.cbClsExtra := 0;

wc.cbWndExtra := 0;
wc.hInstance := HInstance;
wc.hIcon := LoadIcon(0, IDI_APPLICATION);
wc.hCursor := LoadCursor(0, IDC_ARROW);
wc.hbrBackground := (COLOR_BTNFACE+1);
wc.lpszMenuName := nil;
wc.lpszClassName := 'My App';
if RegisterClass(wc)=0 then Exit;
hWnd := CreateWindow(
wc.lpszClassName, 'TEST',
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
0, 0, HInstance, nil);
if hWnd=0 then Exit;
ShowWindow(hWnd, SW_SHOWNORMAL);
while GetMessage(MSG, 0, 0, 0) do begin

TranslateMessage(MSG);
DispatchMessage(MSG);
end;
Halt(MSG.wParam);
end.
windindance 2002-03-03
  • 打赏
  • 举报
回复
use Turbo Pascal 7.0
编译后只有8K.
甜在心馒头 2002-03-03
  • 打赏
  • 举报
回复
上面的程序还可以压缩,最小可以到9K左右
我的竹叶有一个这种程序的文档,你可以去看看 www.2ccc.com
torble 2002-03-03
  • 打赏
  • 举报
回复
控制台程序:

program Project1;
{$APPTYPE CONSOLE}

begin
end.

大小为 16K
whitehare 2002-03-03
  • 打赏
  • 举报
回复
我编过一个8k的程序
fanren945 2002-03-03
  • 打赏
  • 举报
回复
我用delphi5作了一个cd炸弹16kb如果不带ico14kb压缩一下还会更小
melice 2002-03-03
  • 打赏
  • 举报
回复
如果是tp70,最小的小于2.6k,因为我有一个程序就是,可惜手头没有TP70,不然可以看一下。
如果是delphi,新建一个application,去掉form,随便写点功能,一般就是9k了.
ly_liuyang 2002-03-03
  • 打赏
  • 举报
回复
about 1x KB
eulb 2002-03-03
  • 打赏
  • 举报
回复
实际上这和编译有关的
若去掉debug消息
应该10k不到吧
zch619 2002-03-03
  • 打赏
  • 举报
回复
前天看了一个贴子最小9.5左右
nirvana_hg 2002-03-03
  • 打赏
  • 举报
回复
程序应该可以实现一定的功能,那个程序什么都干不了,也叫程序??
用delphi编写的带密码验证的windows窗口程序,一个窗体,一个edit,
一个按钮,实际大小为16K,不带压缩。具体内容是在《delphi编程资源大全》盗版光盘上。想看原始代码的给我写信。exerion@263.net
yanyading 2002-03-03
  • 打赏
  • 举报
回复
控制台程序:

program Project1;
{$APPTYPE CONSOLE}

begin
end.

大小为 16K
我这里仅有8K,没有压缩过!为什么?
wangge 2002-03-03
  • 打赏
  • 举报
回复
10K
上面的都不对
amiao 2002-03-03
  • 打赏
  • 举报
回复
不用任何窗体,代码在工程文件中写
用软件压缩(aspack),非常小
BasicUser 2002-03-03
  • 打赏
  • 举报
回复
关注
setfocus 2002-03-03
  • 打赏
  • 举报
回复
能写 HOLLO WORLD!吗?
Aorland 2002-03-03
  • 打赏
  • 举报
回复
关注
liuziran 2002-03-03
  • 打赏
  • 举报
回复
我做过一个dll,17k大小吧,压缩一下12k

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧