这个 GCCUI.EXE 是配合上一篇博文《用VC6开发嵌入式LINUX程序》说的:用VC6辅助开发LINUX程序的时候使用。把 gcc 编译器增加一个简易的图形界面,可以自动读取 vc6 的工程文件,然后用 gcc 的交叉编译器编译其中的文件并连接。

黄山松 (Tom Huang) 发表于博客园http://www.cnblogs.com/tomview/

下载连接:

http://files.cnblogs.com/files/tomview/gccui_20160519.rar

免责声明:

(1)这个程序只是个人使用的,并且适用目标人群是我这样的老古董程序员,所以估计也没有其他感兴趣的使用者了,但若想尝试下的使用者,需要自己对于可能的任何问题负责,软件作者不做任何担保和保证,不承担任何责任。

(2)不保证在其他电脑上可以正常使用哦。

(3)没有技术支持,感兴趣的需要自己研究下看看能否使用。

使用说明:

(1)用vc 6新建一个工程,console类型
(2)处理预编译头文件的问题

方法一:可以在工程里面删除预编译头文件需要的 stdafx.h 和 stdafx.cpp,并且,在工程属性里面取消预编译头文件的选项,如下图:

方法二:在 stdafx.h 里面用 #ifdef WIN32 把所有的代码括起来,这样在WIN32编译时可以正常处理,在gcc交叉编译的时候也没有影响。

(3)在工程的 Post-build step中设置运行gccui

输入的 Post-build command 里面格式为:gccui.exe的全路径 + 空格 +“工程文件名.dsp”,如下所示例:

C:\SysGCC\gccui.exe "E:\hss\Linux\sndtag_kk\linuxlprcore_1.016.[2015年07月18日].新硬件版本1.1\linuxlprcore.dsp"

(4)代码注意兼容性

注意保证源代码在 win 和 linux 均可编译,尽量使用通用的代码,不兼容的通过 #define WIN32 等隔离。

(5)编译工程

VC6 Build工程的时候,先用VC6的编译器编译工程,编译连接均无错误之后,会调用 gccui.exe 来处理,弹出如下界面:

点击确定之后则继续用 gcc 交叉编译器编译工程里面的 .c 和 .cpp 文件,并最后连接。

(6)编译信息输出

在 vc6 的 output 窗口里面显示交叉编译器的编译和连接信息,当有错误的时候,可以双击错误行自动定位到源代码位置。

(7)重要局限

只适合小工程,因为没有特别处理预编译问题,选择”全部生成“选项即重新编译全部源文件;如果选择”生成“选项则只比较编译后的 .o 文件和源代码的时间决定是否重新编译,没有处理头文件的依赖问题,可能导致头文件内容修改了但是源代码没有修改的时候,没有编译。对于小工程,推荐选择”全部生成“即可,每次完全编译全部的源文件代码。

此外,当VC6认为没有代码改变不编译的时候,gccui 不会运行,此时若需要用 gcc 编译,需要保存一下某个源文件,让 vc6 正常编译,之后就可以调用 gccui 了。

若在开发中不需要调用 gccui ,开始仅在 WIN 下编程的话,弹出 gccui 界面之后,选择”取消“按钮就可以了。

简易的GCC图形界面GCCUI的更多相关文章

  1. Java图形界面学习---------简易登录界面

    /** * @author Administrator * Java图形界面学习---------简易登录界面 * date:2015/10/31 */ import java.awt.BorderL ...

  2. 在ubuntu上使用wxWidgets成功开发一个图形界面程序

    编译wxWidgets 下载最新版的源码,wxWidgets-3.0.2.wxWidgets在liunx是通过wxGTK实现的.wxGTK和wxWidgets的源码打包在一起.wxGTK依赖GTK+, ...

  3. GTK、KDE、Gnome、XWindows 图形界面

    一.linux图形界面的实现只是linux下的应用程序实现图形界面(GUI)并不是linux的一部分,linux只是一个基于命令行的操作系统,linux和Xfree的关系就相当于当年的DOS和Wind ...

  4. Linux下安装Oracle的两种方式------有图形界面安装和静默安装

    本文参考文章 http://blog.csdn.net/zonej/article/details/50680857 http://blog.csdn.net/tongzidane/article/d ...

  5. [自制操作系统] BMP格式文件读取&图形界面系统框架/应用接口设计

    本文将介绍在本人JOS中实现的简单图形界面应用程序接口,应用程序启动器,以及一些利用了图形界面的示例应用程序. 本文主要涉及以下部分: 内核/用户RW/RW调色板framebuffer共享区域 8bi ...

  6. Java第5次实验提纲(Java图形界面编程)

    1. Swing与NetBeans 使用NetBeans编写简单界面.见GUI实验参考文件中的0.第06次实验(图形程序设计.事件处理与Swing).doc 题目1: Swing用户界面组件与事件处理 ...

  7. Java第05次实验提纲(Java图形界面编程)

    1. Swing与NetBeans 使用NetBeans编写简单界面.见GUI实验参考文件中的0.第06次实验(图形程序设计.事件处理与Swing).doc 题目1: Swing用户界面组件与事件处理 ...

  8. Python入门 —— 2048实战(字符界面和图形界面)

    2048 game (共4种实现方法) 目录: .. 图形界面 ... pygame 和 numpy .. 字符界面 ... 第一种 ... curses ... wxpython ... 第二种 . ...

  9. 【CentOS】在Centos7 下无图形界面安装 Oracle11g

    目标 - 在虚拟机CentOS7中无图形界面安装Oracle11G R2版本 ① 系统要求以及准备 1. 物理内存不小于1G: 查看方式: # grep MemTotal /proc/meminfo ...

随机推荐

  1. jquery.form.js不能解决连接超时(timeout)的解决方法

    最近在使用jquery.form.js提交包含文件的表单时,碰到了一个问题:当碰上网速较慢时,而我们又设置了timeout时,例如: var options = { timeout: 3000 //限 ...

  2. 比特币Bitcoin源代码安装编译

    body{ font: 16px/1.5em 微软雅黑,arial,verdana,helvetica,sans-serif; }        比特币 (货币符号: ฿;英文名:Bitcoin;英文 ...

  3. 初识Spring框架

    一.Ioc 1)概念:Ioc(Inversion Of Control)控制反转,也被称为依赖注入DI(Dependency Injection),是面向对象编程的一种思想. 2)作用:用来减低程序代 ...

  4. css知多少(8)——float上篇

    1. 引言 对于我们所有的web前端开发人员,float是或者曾经一度是你最熟悉的陌生人——你离不开它,却整天承受着它所带给你的各种痛苦,你以为它很简单就那么一点知识,但却驾驭不了它各种奇怪的现象. ...

  5. Slick – 这是你需要的最后一款 jQuery 传送带插件

    slick 是一款完全响应式的 jQuery 传送带插件,能够根据容器自动适应宽度.在现代浏览器中会使用 CSS3 来实现特殊效果,可以使用扩展方法对项目进行添加.删除和过滤.这是你需要的最后一款 j ...

  6. At.js – 用于 Web 应用程序的自动完成库

    At.js 是一个自动完成库,用来实现自动完成提示,表情等,就像你在 Github 或 Twitter 上看到的一样.它支持 HTML5 contentEditable 元素.你可以听任何字符,而不仅 ...

  7. 25佳漂亮的结婚邀请 & 婚礼请柬网站设计

    互联网给我们的生活带来了巨大的变化,越来越多的事情可以通过网络完成.下面向大家分享一组结婚邀请网站以及婚礼请柬网站的设计案例,如果你也正想制作这样的网站,相信这些优秀案例能够带给你很大的帮助. 您可能 ...

  8. eclipse 常用设置,常用快捷键修改

    eclipse 常用设置,常用快捷键,myeclipse和eclipse类似' 首先打开eclipse的首选项-->搜索 keys' 常用的一些快捷键: Ctrl+1 快速修复(最经典的快捷键, ...

  9. iOS 适配iOS9

    1.网络接口不支持https协议,在iOS9下 在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据. 解决方案(以下方法2选1): (1)暂时退回到http协议 ...

  10. [Android]Activity启动过程

    Android系统启动加载流程: 参考图 Linux内核加载完毕 启动init进程 init进程fork出zygote进程 zygote进程在ZygoteInit.main()中进行初始化的时候for ...