社区
C++ Builder
帖子详情
如何在C++Builder中生成小于100KB的程序
ktcserver
2003-10-15 01:32:50
加精
一般,我们在CB中编写的程序,如果独立运行,程序的大小在100KB以上。我看到一些在WINDOWS下运行的窗口程序,只有40多K这样小的文件在CB中怎样才能编译出来而且能独立运行呢?好象DELPHI有这样的功能,和程序制作方法。
...全文
54
15
打赏
收藏
如何在C++Builder中生成小于100KB的程序
一般,我们在CB中编写的程序,如果独立运行,程序的大小在100KB以上。我看到一些在WINDOWS下运行的窗口程序,只有40多K这样小的文件在CB中怎样才能编译出来而且能独立运行呢?好象DELPHI有这样的功能,和程序制作方法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Micowen989
2003-10-17
打赏
举报
回复
试试来电的方法看看先!
编译失败
2003-10-17
打赏
举报
回复
1. 尽量少用第三方控件,楼上几位说的也对,用底层一些的东西可以提高效率,大小也可以降低,但是太麻烦,而且显现不出BCB的优势。
2. 把库文件分离出来,你以为Windows的程序小是为什么啊?其实也用到了很多库,都包含在操作系统中了。
netying
2003-10-17
打赏
举报
回复
up..
srmonkey
2003-10-17
打赏
举报
回复
受益匪浅
jbz
2003-10-17
打赏
举报
回复
学习
huangjuliang
2003-10-16
打赏
举报
回复
把一些不用dll用掉!
huangjuliang
2003-10-16
打赏
举报
回复
一般用ASPACK这个软件来压缩一下,
能小很多!
pepsi1980
2003-10-16
打赏
举报
回复
坐下听课..:)
lanren_me
2003-10-15
打赏
举报
回复
没必要,除非是做黑客程序;
myredsun
2003-10-15
打赏
举报
回复
其实方法很多,主要看你要写什么样的程序。
freeia
2003-10-15
打赏
举报
回复
用汇编直接写api,很小的,2到3k.
我不懂电脑
2003-10-15
打赏
举报
回复
写控制台程序可以。
netsys2
2003-10-15
打赏
举报
回复
怎样用C++BUILDR编制纯API的?
回复人: shak(人生苦短) ( ) 信誉:100 2003-1-22 8:30:32 得分:0
在上世纪的最后一个晚上,O发觉了编制纯API的C程序
步骤,VCL构架使用简单但代码庞大,一个仅有一个Form1的VCL
程序编译后将产生300K的肥胖目标,如果不用VCL库,仅利用MS
API编制的C++程序所产生的目标将只有8K, 嘿嘿! 瘦得已皮包
骨头,不过,比只有一层皮的 CIH 还胖7倍;
产生无VCL的纯API C++BUILDER 程序步骤:
1.进入C++BUILDER 5.0,关闭缺省工程: File -> Close All;
2.选 File -> New ... -> Console Wizard 进入控制台向导;
3.弹出参数框中,Source Type 选C++,
Use VCL, Multi Threaded, Console Application 三行都
不要选中;
选中Specify project source,且填上工程名: TestAPI
4.点OK后,选中Create a new Unit,将Unit1.cpp内容全清除,
将下列框架粘贴上;
5.存盘,工程名存成TestApi.bpr,运行,产生8kb的目标
TestApi.exe
//---------------------------------------------------------------------------
#ifndef MyFirsSDKAppCppH
#define MyFirsSDKAppCppH
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
#include "MyFirsSDKAppCpp.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM) ; //窗口消息循环函数向前声明
//---------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine, int nCmdShow)
{ //初始化窗口类
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
char classname[]="窗口"; //窗口类名
char Title[]="My_SDK_TEST_Window"; //窗口标题名
//窗口类的定义
wndclass.lpfnWndProc=WndProc; //窗口处理函数为WndProc
wndclass.cbClsExtra=0; //窗口类无扩展
wndclass.cbWndExtra=0; //窗口实例无扩展
wndclass.hInstance=hInstance,
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION); //窗口的最小化图标为缺省图标
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW); //窗口采用箭头光标
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); //窗口背景为白色
wndclass.lpszMenuName=NULL; //窗口中无菜单
wndclass.lpszClassName=classname;
wndclass.style=0; //窗口类型为缺省类型
if(!RegisterClass(&wndclass)) //窗口类注册
{
MessageBeep(0); //如果注册失败则发出警告声音
return false;
}
//-------------------------------------------------------------------------------------
hwnd=CreateWindow(
classname, //窗口类名
Title, //窗口实例的标题名
WS_OVERLAPPEDWINDOW, //窗口的风格
10, //窗口左上角坐标为缺省值
19,
250,
480, //窗口的高和宽为缺省值
NULL, //此窗口无父窗口
NULL, //此窗口无主菜单
hInstance, //创建此窗口的应用程序的当前句柄
NULL //不使用该值
);
ShowWindow(hwnd,nCmdShow); //显示窗口
UpdateWindow(hwnd); //绘制用户区
while( GetMessage(&msg,NULL,0,0)) //消息循环
{
TranslateMessage(&msg); //键盘消息转换
DispatchMessage (&msg); //分发消息
}
return msg.wParam; //消息循环结束即程序终止时将信息返回系统
}
//------------------------------------------------------------------------------------
LRESULT CALLBACK WndProc(HWND hwnd,UINT message ,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_DESTROY: PostQuitMessage(0); //调用PostQuitMessage发出WM_QUIT消息
default: return DefWindowProc(hwnd,message,wParam,lParam); //默认时采用系统消息默认处理函数
}
return(0);
}
tccsdn
2003-10-15
打赏
举报
回复
再压缩一下
ccrun.com
2003-10-15
打赏
举报
回复
不要用VCL。
java 面试题 总结
在实现
中
,assertion就是在
程序
中
的一条语句,它对一个boolean表达式进行检查,一个正确
程序
必须保证这个boolean表达式的值为true;如果该值为false,说明
程序
已经处于不正确的状态下,系统将给出警告或退出。...
超级有影响力霸气的Java面试题大全文档
在实现
中
,assertion就是在
程序
中
的一条语句,它对一个boolean表达式进行检查,一个正确
程序
必须保证这个boolean表达式的值为true;如果该值为false,说明
程序
已经处于不正确的状态下,系统将给出警告或退出。...
C
Builder
XE与SQLite快速开发app
因为C++
Builder
XE10资料一直较少,所以作为C++
Builder
业余fans,有必要为这冷门提供一些技术支持,与小伙伴们一起成长!本视频系列,主要是讲解C++
Builder
XE10与sqlite来快速开发手机安卓app,让学友们能够快速掌握这个搭建开发过程,不走弯路。学习的好处在于,这个软件不需要复杂的安装与环境配置要求。实再是太简单了,只要懂点C++,就可以搞起了。
C++
Builder
资料库 (转载)
1.怎样在C++
Builder
中
创建使用DLL 2.用C++Bulider在WIN.INI
中
保存信息 3.如何在C++
Builder
中
检测硬件 4.C++
Builder
如何响应消息及自定义消息 5.利用C++
Builder
开发动画DLL 6.用C++
Builder
C++
Builder
资料库
1.怎样在C++
Builder
中
创建使用DLL 2.用C++Bulider在WIN.INI
中
保存信息 3.如何在C++
Builder
中
检测硬件 4.C++
Builder
如何响应消息及自定义消息 5.利用C++
Builder
开发动画DLL 6.用C++
Builder
3制作屏幕保护
程序
7...
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章