« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
|
|
[C/C++]MinGW-GCC 如何编写win32应用程序 |
冥思者 发表于 2006/3/13 16:28:24 |
以前写出来的程序,在windows下用鼠标双击时,总是会蹦一个黑窗口出来,怎样才能让它不出来呢?那是因为以前的程序都是使用console模式即控制台模式编译的,所以运行的时候会有一个控制台窗口。我们现在来学习一下win32应用程序的写法。 第一,要包含windows.h这个头文件,并且主程序由传统的main变成了WinMain。如下 /* main.c */ #include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, &n | |
|
[C/C++]如何为应用程序创建图标 |
冥思者 发表于 2006/3/7 14:19:40 |
用MinGW-GCC开发Windows程序的时候如何为我们的程序指定一个图标呢?其实很简单! 第一步:制作图标文件。我偷一下懒,找现成的,例如在apache目录下找到了一个图标 favicon.ico 第二步:编辑资源文件 app.rc (名字任意起,以.rc为后缀就行) 1 ICON "favicon.ico" 第三步:将其编译成目标文件 windres app.rc icon.o (说明:windres 是MinGW带的一个实用程序,icon.o是生成的目标文件) 第四步:和往常一样编译,只是把icon.o也编译进去即可。 gcc -o hello *.c icon.o 看看生成的hello.exe的图标是不是变了? enjoy it :-)
| |
|
[C/C++]GCC静态链接与动态链接(续) |
冥思者 发表于 2006/3/5 11:29:18 |
有网友问到了如果程序里面同时用到了静态链接库和动态链接库,那该怎么办呢?其实很简单,还是以上贴的程序为例子,我们已经得到了静态库libhellos.a和动态库hellod.dll,我们现在修改一下主程序同时调用它们,如下 /* main.c */ #include <stdio.h> #include "hellos.h" #include "hellod.h"
main() { char* text = "Hello World!\n"; printS(text); printD(text); } 编译链接: gcc -o hello main.c hellod.dll libhellos.a 然后运行hello print in static way: Hello World! print in dynamic way: Hello World! 此时删掉libhellos.a,仍然能正常运行。如果删掉hel | |
|
[C/C++]GCC静态链接与动态链接 |
冥思者 发表于 2006/3/3 11:50:30 |
传说中的GCC神功盖世,威力无比,今日一见,果然不同凡响。拿出收藏了多年的HelloWorld牛刀小试,于是心悦诚服。 看代码: 1:建静态库
/* hellos.h */ #ifndef _HELLO_S_H #define _HELLO_S_H
void printS(char* str);
#endif
/* hellos.c */ #include "hellos.h"
void printS(char* str) { printf("print in static way: %s", str); } 输入命令: gcc -c -o hellos.o hellos.c ar cqs libhellos.a hellos.o 于是得到了libhellos.a这么一个静态链接库
2:主程序 /* | |
|
« 1 › |
|
统计 |
blog名称:长夜慢慢兮,心越来越远! 日志总数:13 评论数量:48 留言数量:1 访问次数:154058 建立时间:2006年3月3日 | |