这个 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. Xslider演示8种滚动效果

    Xslider演示8种滚动效果包括: 一.左右切换:每次移动固定距离 二.左右切换:最后一个显示在最右侧 三.自动切换 四.循环切换 五.文本的上下滚动 六.上下切换 七.上下自动循环切换 在线预览 ...

  2. Photoshop和WPF双剑配合,打造炫酷个性的进度条控件

    现在如果想打造一款专业的App,UI的设计和操作的简便性相当重要.UI设计可以借助Photoshop或者AI等设计工具,之前了解到WPF设计工具Expression Blend可以直接导入PSD文件或 ...

  3. 2013年最新流行的响应式 WordPress 主题【下篇】

    在这篇文章中,我们收集了一些在2013年发布的最好的免费的响应式 WordPress 主题.这些主题包括高级功能,如自定义模板.自定义窗口小部件.自定义菜单主题选项等.让我们来看看下面的清单,并希望你 ...

  4. 苹果浏览器和uc浏览器在移动端的坑(日常积累,随时更新)

    先mark 1 .  移动端uc浏览器不兼容css3 calc() 2 .  ie8下a标签没有内容给宽高也不能触发点击跳转 3 . safari输入框加上readOnly="ture&qu ...

  5. OC笔记

    self的概念:指向了当前对象(方法的调用者) self的用途 可以利用  self -> 成员变量名  访问当前对象内部的成员变量 [self 方法名];  调用其他对象方法或者类方法 所有继 ...

  6. Android Handler机制(二)---MessageQueue源码解析

    MessageQueue 1.变量 private final boolean mQuitAllowed;//表示MessageQueue是否允许退出 @SuppressWarnings(" ...

  7. 【转】Android NFC学习笔记

    一:NFC的tag分发系统 如果想让android设备感应到NFC标签,你要保证两点 1:屏幕没有锁住 2:NFC功能已经在设置中打开 当系统检测到一个NFC标签的时候,他会自动去寻找最合适的acti ...

  8. mac os intellij如何快路查看一个java类的所有方法,结构

    如果是自己写的java类,点击点击导航的project-setting-show members 如果是系统库的,点击structure 再点一下lib中的类,或者快捷键 command+F12

  9. iOS开发--Swift 基于AFNetworking 3.0的网络请求封装

    Swift和OC基于AFNetworking的网络请求流程相同, 就是语法不同, 对于Swift语法不是很清楚的同学, 建议多看看API文档, 自己多多尝试. 写过OC的应该都明白每句话做什么的, 就 ...

  10. 用最简单话概括SSH三框架

    Hibernate用来做持久层,因为它将JDBC做了一个良好的封装,程序员在与数据库进行交互时可以不用书写大量的SQL语句. Struts是用来做应用层的,他它负责调用业务逻辑serivce层,所以S ...