[原创]VC 下编译出极小的程序.
载new和delete这里肯定是有问题的(6楼说的没错,可惜在7楼又自我否定了)
假设我这里有个类代码:
class A
{
public:
A(){pMem = malloc(100);}
~A(){free(pMem);}
private:
void *pMem;
}
如果类这么使用的话:
A *pA = new A;
delete A;
因为楼主的delete operator只是简单地调用free函数,
所以不会调用A的析构函数,
因此在A内部构造函数分配的内存(pMem指向的内存)将不会释放。
http://topic.csdn.net/u/20080628/15/69A98C60-6E6E-49CE-BAC8-0C22280648C3.html
他们设置了哪些标签:
[原创]VC 22 C++ CRT c语言 VC VC9.0的妙用 VC下的资源占用以及缩小包的途径 编程技巧 编程研究 编译 编译程序减肥 程序 高手 极小 极小的程序 技巧 技术 去CRT依赖 文件大小 下编译出极小的程序. 转载
谁收藏了这个网址:
时间:2008-6-28 17:55:14 | 相关网摘
时间:2008-6-28 18:08:32 | 相关网摘
时间:2008-6-28 18:49:37 | 相关网摘
时间:2008-6-28 19:24:54 | 相关网摘
时间:2008-6-28 20:15:13 | 相关网摘
时间:2008-6-28 20:18:49 | 相关网摘
时间:2008-6-28 21:11:07 | 相关网摘
时间:2008-6-28 21:46:18 | 相关网摘
时间:2008-6-28 22:00:19 | 相关网摘
时间:2008-6-28 23:45:01 | 相关网摘
时间:2008-6-28 23:46:06 | 相关网摘
时间:2008-6-29 0:23:24 | 相关网摘
时间:2008-6-29 5:27:41 | 相关网摘
时间:2008-6-29 5:27:41 | 相关网摘
时间:2008-6-29 9:57:06 | 相关网摘
常用函数的替代.
没了CRT许多常用的函数都无法使用,全部自己重写无疑大大加大了程序的代
码量,也没多大意义.windows提供了很多常用的函数.都由系统的dll来提供,
使用它们就不用
时间:2008-6-29 13:11:32 | 相关网摘
时间:2008-6-29 14:19:20 | 相关网摘
使用标签:C++,时间:2008-6-29 16:20:42 | 相关网摘
时间:2008-6-29 16:21:30 | 相关网摘
时间:2008-6-29 18:51:59 | 相关网摘
时间:2008-6-29 19:31:42 | 相关网摘
时间:2008-6-29 20:07:45 | 相关网摘
使用标签:C++,时间:2008-6-29 21:03:25 | 相关网摘
的动态链接CRT:3.00 KB
时间:2008-6-29 21:19:42 | 相关网摘
时间:2008-6-29 21:41:14 | 相关网摘
时间:2008-6-29 22:36:47 | 相关网摘
时间:2008-6-29 23:59:59 | 相关网摘
时间:2008-6-30 6:32:00 | 相关网摘
时间:2008-6-30 7:36:20 | 相关网摘
时间:2008-6-30 8:26:05 | 相关网摘
时间:2008-6-30 9:20:05 | 相关网摘
时间:2008-6-30 9:25:54 | 相关网摘
使用标签:[原创]VC, 下编译出极小的程序.,时间:2008-6-30 9:37:49 | 相关网摘
http://bbs.pediy.com/showthread.php?threadid=28058
时间:2008-6-30 10:03:11 | 相关网摘
时间:2008-6-30 10:51:33 | 相关网摘
确实要研究一下如何将一个程序编译得更小
时间:2008-6-30 11:00:02 | 相关网摘
用CRT要做
时间:2008-6-30 11:49:38 | 相关网摘
CRT提供了大量常用的函数.可说只要C/C 程序基本都会用到它.但是获得了方便的同
时也增大了不少体积.虽然可以通过动态链接到外部的dll来解决,但是自此就有了对一
个更大的dll的依赖.所以要减肥,就要先拿CRT开刀.
在cl的编译参数中加上/MD,再在link中加上/nodefaultlib
时间:2008-6-30 12:36:01 | 相关网摘
时间:2008-6-30 13:10:55 | 相关网摘
使用标签:C语言,时间:2008-6-30 13:12:22 | 相关网摘
c语言的小程序
时间:2008-6-30 14:06:30 | 相关网摘
时间:2008-6-30 16:13:14 | 相关网摘
时间:2008-6-30 17:52:58 | 相关网摘
序少不了动态分配内存,前面丢掉了CRT,再编译程序会发现反是有内存分配的地方都
在报错,这是因为我去掉了crt,编译器找不到对应的函数所致.所以要自己写内存分配函数.
C的malloc和C 的new/new[]都是在当前的堆上分配内存.所以只要照着写一遍就可以了:
时间:2008-6-30 20:58:34 | 相关网摘
时间:2008-6-30 21:25:42 | 相关网摘
时间:2008-6-30 21:31:32 | 相关网摘
时间:2008-7-1 0:09:02 | 相关网摘
时间:2008-7-1 8:33:34 | 相关网摘
时间:2008-7-1 10:49:18 | 相关网摘
3.00 KB
时间:2008-7-1 10:57:09 | 相关网摘
时间:2008-7-1 11:00:21 | 相关网摘
个HelloWorld
时间:2008-7-1 11:36:23 | 相关网摘
时间:2008-7-1 13:00:02 | 相关网摘
使用标签:C++,时间:2008-7-1 13:30:03 | 相关网摘
时间:2008-7-1 13:46:25 | 相关网摘
时间:2008-7-1 14:12:48 | 相关网摘
时间:2008-7-1 16:31:13 | 相关网摘
时间:2008-7-1 22:35:07 | 相关网摘
时间:2008-7-2 16:04:51 | 相关网摘
很经典的程序
使用标签:高手,时间:2008-7-2 19:09:38 | 相关网摘
时间:2008-7-2 20:04:51 | 相关网摘
时间:2008-7-4 10:06:20 | 相关网摘
sp1也不是自带的.更不便于程序的部署.
最后自己去查了查资料终于编译出体积比较满意的exe,步骤如下:
1.扔掉CRT.
CRT提供了大量常用的函数.可说只要C/C 程序基本都会用到它.但是获得了方便的同
时也增大了不少体积.虽然可以通过动态链接到外部的dll
时间:2008-7-5 11:43:43 | 相关网摘
时间:2008-7-5 20:30:17 | 相关网摘
vc++不懂
使用标签:22,时间:2008-7-6 6:20:07 | 相关网摘
时间:2008-7-6 9:30:52 | 相关网摘
���
时间:2008-7-7 11:21:54 | 相关网摘
时间:2008-7-9 12:23:25 | 相关网摘
时间:2008-7-10 20:07:38 | 相关网摘
时间:2008-7-11 11:25:11 | 相关网摘
时间:2008-7-11 12:38:56 | 相关网摘
时间:2008-7-11 15:20:58 | 相关网摘
得去找个vc6,复制里面的msvcrt.lib,改个名.比如vcrt6.lib然后把它添加到链接的库里.编译的时候
时间:2008-7-13 15:24:20 | 相关网摘
时间:2008-7-13 22:12:42 | 相关网摘
使用标签:转载,时间:2008-7-14 10:09:35 | 相关网摘
VC 下编译出极小的程序
使用标签:程序, 编程研究,时间:2008-7-14 14:39:42 | 相关网摘
绝对让你有收获得
时间:2008-7-14 18:20:17 | 相关网摘
时间:2008-7-15 8:55:41 | 相关网摘
时间:2008-7-15 9:34:02 | 相关网摘
时间:2008-7-15 13:14:57 | 相关网摘
使用标签:技术,时间:2008-7-15 15:21:43 | 相关网摘
时间:2008-7-15 23:27:55 | 相关网摘
时间:2008-7-17 9:10:53 | 相关网摘
载new和delete这里肯定是有问题的(6楼说的没错,可惜在7楼又自我否定了)
假设我这里有个类代码:
class A
{
public:
A(){pMem = malloc(100);}
~A(){free(pMem);}
private:
void *pMem;
}
如果类这么使用的话:
A *pA = new A;
delete A;
因为楼主的delete operator只是简单地调用free函数,
所以不会调用A的析构函数,
因此在A内部构造函数分配的内存(pMem指向的内存)将不会释放。
时间:2008-7-17 13:11:21 | 相关网摘
http://bbs.pediy.com/showthread.php?threadid=28058
时间:2008-7-18 13:31:11 | 相关网摘
时间:2008-7-19 18:40:37 | 相关网摘
时间:2008-7-19 18:43:08 | 相关网摘
使用标签:c++,时间:2008-7-20 18:07:00 | 相关网摘
时间:2008-7-21 19:02:22 | 相关网摘
时间:2008-7-22 15:13:17 | 相关网摘
MD msgbox.cpp /link /nodefaultlib:msvcrt.lib /entry:main
编译后大小:2.00KB
加上/align:16
时间:2008-7-22 20:26:53 | 相关网摘
时间:2008-7-23 8:19:55 | 相关网摘
时间:2008-7-23 8:44:17 | 相关网摘
时间:2008-7-23 9:40:53 | 相关网摘
时间:2008-7-23 19:06:00 | 相关网摘