MinGW安装与使用简介

作者: csbde 分类: 未分类 发布时间: 2010-09-22 10:50

C语言代码编译: 这里有一个例子。下面是一个简单的c语言程序的代码示例,请把它剪切并粘贴到一个叫作hello.c的文件中试试看:

#include <stdio.h>
int main(int argc, char **argv)
{
printf ("Hello World!");
return (0);
}
假如你想从hello.c生成一个在终端模式下的可执行文件hello.exe.试一下下面的方法: gcc -c hello.c 这个命令把hello.c编译成一个目标文件hello.o,然后用下面的方法: gcc -o hello hello.o 这个命令从hello.o文件生成一个可执行的hello.exe文件。事实上,作为一种选择,你可以使用下面的命令把编译和链接放到一步中完成: gcc -o hello hello.c C++语言代码编译: 下面是一个简单的c++程序的代码示例,复制并粘贴到一个叫hello.cpp的文件中试试看:
#include <iostream>
int main(int argc, char **argv)
{
std::cout << "C++ Hello World! 感谢" << std::endl;
return (0);
}
对于c++程序来说,使用下面的命令来编译和链接: g++ -c hello.cpp g++ -o hello hello.o (同样你可以把他们合并到一步中完成) windows应用程序编译: 这里有一个例子。下面是一个简单的windows应用程序的代码示例,请把它复制并粘贴到一个叫作winhello.c的文件中试试看 : #include <windows.h> int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { MessageBox (NULL, "Hello", "Hello Demo", MB_OK); return (0); } 假如你想从一个叫winhello.c的c语言源文件创建一个从窗体执行的(Windows executable)winhello.exe,请试用下列命令: gcc -c winhello.c 首先产生了目标文件winhello.o,然后用: gcc -o winhello winhello.o -mwindows 这会从hello.o创建一个可执行的hello.exe, -mwindows用来说明要创建的是Windows应用程序而非从终端执行的程序,它确保正确的Windows库被链接。 要同时得到一个终端屏幕和标准的Windows应用程序,在 -mwindows标志后面增加一个-mconsole标志(flag) 假如你有新的资源(一个后缀名为.rc的文件)也要添加到你的程序中,你需要编译这些资源文件(resource file)和别的一些资源文件,并且在链接时包含进这些编译过的资源文件以创建你的程序,下面的例子将告诉你怎样编译和链接一个叫做resfile.rc 的资源文件: windres -o resfile.o resfile.rc gcc -o winhello winhello.o resfile.o -mwindows 创建DLL编译: 这里有个例子。把下面的代码复制并粘贴到一个叫dllfct.h的文件中: #ifdef BUILD_DLL  // the dll exports #define EXPORT __declspec(dllexport) #else  // the exe imports #define EXPORT __declspec(dllimport) #endif // function to be imported/exported EXPORT void tstfunc (void); 把下面的代码复制并粘贴到一个叫dllfct.c的文件中: #include <stdio.h> #include "dllfct.h" EXPORT void tstfunc (void) { printf ("DLL Hello World!"); } 把下面的代码复制并粘贴到一个叫dllHello.c的文件中: #include "dllfct.h" int main () { tstfunc (); return (0); } 为了创建一个dll和一个使用他的程序,试试下面的命令: gcc -c dllHello.c gcc -c -DBUILD_DLL dllfct.c gcc -shared -o tst.dll -Wl,--out-implib,libtstdll.a dllfct.o gcc -o dllHello.exe dllHello.o -L./ -ltstdll 注:蓝色字体如果DLL更改过了,只要重新编辑DLL即可,dllHello不用重新编译。 比如我们修改dllfct.c文件为 #include <stdio.h> #include "dllfct.h" EXPORT void tstfunc (void) { printf ("DLL Hello World! 感谢"); } 我们执行下面的命令,重新生成 tst.dll gcc -c -DBUILD_DLL dllfct.c gcc -shared -o tst.dll -Wl,--out-implib,libtstdll.a dllfct.o 下面我们执行:dllHello.exe程序 那么程序将显示:DLL Hello World! 感谢]]>

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

一条评论
  • 水果味

    2010年10月22日 上午1:54

    不知大家能不能做个朋友

水果味进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注