简易的GCC图形界面GCCUI

时间:2021-07-25 06:02:03

这个 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,并且,在工程属性里面取消预编译头文件的选项,如下图:

简易的GCC图形界面GCCUI

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

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

简易的GCC图形界面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图形界面GCCUI

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

(6)编译信息输出

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

简易的GCC图形界面GCCUI

简易的GCC图形界面GCCUI

(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. 后缀树(suffix tree)

    参考: 从前缀树谈到后缀树 后缀树 Suffix Tree-后缀树 字典树(trie树).后缀树 一.前缀树 简述:又名单词查找树,tries树,一种多路树形结构,常用来操作字符串(但不限于字符串), ...

  2. Spring3 整合MyBatis3 配置多数据源 动态选择SqlSessionFactory

    一.摘要 上两篇文章分别介绍了Spring3.3 整合 Hibernate3.MyBatis3.2 配置多数据源/动态切换数据源 方法 和 Spring3 整合Hibernate3.5 动态切换Ses ...

  3. 第8章 Iptables与Firewalld防火墙

    章节简述: 红帽RHEL7系统已经用firewalld服务替代了iptables服务,新的防火墙管理命令firewall-cmd与图形化工具firewall-config. 本章节基于数十个防火墙需求 ...

  4. [SQL] 待整理3

    Create proc procedureName @orderId int ,@name varchar() ,@count int as begin Declare @id int declare ...

  5. 面向对象的异常处理之深入理解java异常处理机制

    什么是异常? 异常是对问题的描述,将问题的对象进行封装: 异常体系的特点:异常体系中的所有类以及建立的对象: 都具有可抛性,也就是说可以被throw和throws关键字所操作,只有异常体系具有该特点: ...

  6. 磁盘管理二-LVM相关内容

    1.基本概念 LVM:logical volume manager 逻辑卷管理器 LVM构成:物理卷PV,卷组VG(PE物理区域,最小存储单元),逻辑卷LV(LE逻辑区域,最小存储单元) 三者如下图所 ...

  7. 线索化二叉树的构建与先序,中序遍历(C++版)

    贴出学习C++数据结构线索化二叉树的过程, 方便和我一样的新手进行测试和学习 同时欢迎各位大神纠正. 不同与普通二叉树的地方会用背景色填充 //BinTreeNode_Thr.h enum Point ...

  8. TJU ACM-ICPC Online Judge—1191 The Worm Turns

    B - The Worm Turns Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Su ...

  9. Java多线程(三)如何创建线程

    点我跳过黑哥的卑鄙广告行为,进入正文. Java多线程系列更新中~ 正式篇: Java多线程(一) 什么是线程 Java多线程(二)关于多线程的CPU密集型和IO密集型这件事 Java多线程(三)如何 ...

  10. 重启 IIS7 应用或者应用程序池的批处理bat

    重启应用 本地: ctrl+r->iisreset -stop ctrl+r->iisreset -start ctrl+r->iisreset 远程(假如远程机器地址为10.5.6 ...