⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gcc.sgml

📁 cygwin, 著名的在win32下模拟unix操作系统的东东
💻 SGML
字号:
<sect1 id="gcc"><title>Using GCC with Cygwin</title><sect2 id="gcc-cons"><title>Console Mode Applications</title><para>Use gcc to compile, just like under UNIX.Refer to the GCC User's Guide for information on standard usage andoptions.  Here's a simple example:</para><example><title>Building Hello World with GCC</title><screen><prompt>C:\&gt;</prompt> <userinput>gcc hello.c -o hello.exe</userinput><prompt>C:\&gt;</prompt> <userinput>hello.exe</userinput>Hello, World<prompt>C:\&gt;</prompt></screen></example></sect2><sect2 id="gcc-gui"><title>GUI Mode Applications</title><para>Cygwin allows you to build programs with full access to thestandard Windows 32-bit API, including the GUI functions as defined inany Microsoft or off-the-shelf publication.  However, the process ofbuilding those applications is slightly different, as you'll be usingthe GNU tools instead of the Microsoft tools.</para><para>For the most part, your sources won't need to change at all.However, you should remove all __export attributes from functionsand replace them like this:</para><screen>int foo (int) __attribute__ ((__dllexport__));intfoo (int i)</screen><para>For most cases, you can just remove the __export and leave it atthat.  For convenience sake, you might want to include the followingcode snippet when compiling GUI programs.  If you don't, you will wantto add "-e _mainCRTStartup" to your link line in your Makefile.</para><screen>#ifdef __CYGWIN__WinMainCRTStartup() { mainCRTStartup(); }#endif</screen><para>The Makefile is similar to any other UNIX-like Makefile,and like any other Cygwin makefile.  The only difference is that you use<command>gcc -mwindows</command> to link your program into a GUIapplication instead of a command-line application.  Here's an example:</para><screen>myapp.exe : myapp.o myapp.res	gcc -mwindows myapp.o myapp.res -o $@myapp.res : myapp.rc resource.h	windres $< -O coff -o $@</screen><para>Note the use of <filename>windres</filename> to compile theWindows resources into a COFF-format <filename>.res</filename> file.That will include all the bitmaps, icons, and other resources youneed, into one handy object file.  Normally, if you omitted the "-Ocoff" it would create a Windows <filename>.res</filename> format file,but we can only link COFF objects.  So, we tell<filename>windres</filename> to produce a COFF object, but forcompatibility with the many examples that assume your linker canhandle Windows resource files directly, we maintain the<filename>.res</filename> naming convention.  For more information on<filename>windres</filename>, consult the Binutils manual.  </para></sect2></sect1>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -