Pelles C 五光十色中的一抹经典
我只是一个程序员,没有多少文化修养,根本不会组织出多么精彩动人的辞藻,所以废话不多说,开整。
前段时间,我开始了自己的毕业设计项目,项目的主题和内容是围绕数码防伪追溯原理制作一个识别装置,而这个装置并没有要求是手持终端,也没有要求集成。所以到最后,这个毕业设计的主要内容就是要写一个“数码防伪追溯系统”软件。
我是一个保守的人,不喜欢追求花哨的前沿,所以我决定用我稍微有点基础的C语言来完成软件的编写。俗话说,没有金刚钻别揽瓷器活,要想写好程序,第一步就是找一个合适的编译器,像我这样的新手,跟喜欢用集成编译环境(IDE)。
百度谷歌了半天,有的要收费,有的好几个G,几乎所有的都是基于C#或者JAVA的,即使找到一个基于C/C++的也是以C++为主,因为C++兼容C嘛,所以就几乎找不到纯正的C编译器了。后来我无意中发现了Pelles C IDE。
Pelles C 是来自于德国,是一个针对性很强的集成编译环境,它的服务对象只有一个——C语言。我就喜欢专一的东西。
<Pelles C 官方下载网站截图 现时稳定版本7.0>
可惜的是,Pelles C 的使用范围并不广泛,官方提供的技术资料也称不上齐全,这对于那些依赖官方文档的人很头疼。唯一的官方帮助文档在安装目录下的Bin\Help文件夹中。里面并没有提到软件的基本操作之类的东西,更多的是一些说明性的文字。
但是优点就是软件体积很小,很纯净。比起VS2013要好多了,一提到它我就忍不住要抱怨几句,一个集成编译环境而已,有必要什么功能都有么?有本事把Photoshop的功能也都添进去啊?和C#一样繁杂冗长,微软最终一定会死在“太繁琐”这个诟病上。
可是没办法,为了学习使用Pelles C,我还是安装了VS2013。然后我发现两者的操作是几乎一样的,所以熟悉微软开发环境的人切换到pelles 毫无压力啊!而且我反而觉得pelles 比 VS 要更加方便好用。估计是我菜鸟的缘故吧,不识好坏,不过在此还是推荐给大家。
Pelles C 五光十色中的一抹经典的更多相关文章
- c#初学-多线程中lock用法的经典实例
本文转载自:http://www.cnblogs.com/promise-7/articles/2354077.html 一.Lock定义 lock 关键字可以用来确保代码块完成运行,而不会被 ...
- [英国][记录][战争中的世界:二战全史(26集)][BD-MKV/58G][中英双字][经典收藏]
[英国][记录][战争中的世界:二战全史(26集)][BD-MKV/58G][中英双字][经典收藏] 原片名:The World at War 中文名:战争中的世界 导 演:Ted Childs, ...
- 多线程中lock用法的经典实例
多线程中lock用法的经典实例 一.Lock定义 lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断.它可以把一段代码定义为互斥段(critical section),互斥段在一 ...
- Python中新式类和经典类的区别,钻石继承
1)首先,写法不一样: class A: pass class B(object): 2)在多继承中,新式类采用广度优先搜索,而旧式类是采用深度优先搜索. 3)新式类更符合OOP编程思想,统一了pyt ...
- python中新式类和经典类
python中的类分为新式类和经典类,具体有什么区别呢?简单的说, 1.新式类都从object继承,经典类不需要. Python 2.x中默认都是经典类,只有显式继承了object才是新式类 Pyth ...
- 一个线程中lock用法的经典实例
/* 该实例是一个线程中lock用法的经典实例,使得到的balance不会为负数 同时初始化十个线程,启动十个,但由于加锁,能够启动调用WithDraw方法的可能只能是其中几个 作者:http://h ...
- CMMI4级实践中的5个经典问题及解答
这五个问题相当经典而且比较深,需要做过CMMI4.5级的朋友才能看懂这些问题.这5个问题是一位正在实践CMMI4级的朋友提出来的,而解答则是我的个人见解. 五个疑问是: A.流程,子流程部分不明白 ...
- python中新式类和经典类的区别
1).python在类中的定义在py2-3版本上是使用的有新式类和经典类两种情况,在新式类和经典类的定义中最主要的区别是在定义类的时候是否出现引用object;如:经典类:Class 类名::而新式类 ...
- Linux中的两个经典宏定义:获取结构体成员地址,根据成员地址获得结构体地址;Linux中双向链表的经典实现。
倘若你查看过Linux Kernel的源码,那么你对 offsetof 和 container_of 这两个宏应该不陌生.这两个宏最初是极客写出的,后来在Linux内核中被推广使用. 1. offse ...
随机推荐
- 【NX二次开发】创建扫描特征
扫描特征相关函数: 创建扫描特征的相关函数: 1.UF_MODL_create_extrude_trim_opts 拉伸 2.UF_MODL_create_extrude_trim_opts1 拉伸 ...
- 合宙Luat | 一文读懂LuaTask延时,看我如何从《射雕英雄传》角度分析。
武侠小说中,主人公之所以能纵横江湖,常常离不开一样可遇不可求的绝世法宝--武功秘籍.如今勇于尝试的开发者,笃定地告诉后来者:选Luat二次开发,就如同拥有了物联网开发的武功秘籍. 本期让我们通过< ...
- 「10.29」数列(exgxd)·数对(线段树优化DP)·最小距离(最短路,树上直径思想)
好久没碰到这么友好乱搞的题了.... A. 数列 考察的是exgcd的相关知识,最后的答案直接O(1)求即可 B. 数对 本来以为是原题,然后仔细看了看发现不是,发现不会只好乱搞骗分了 事实上直接按$ ...
- Linux网络基础TCP/IP
1.osi:七层 上三层,主要是用户层面;下四层是实际进行数据传输物理层: 设备之间比特流的传输,物理接口,电气特性等 端口号的作用 通过IP找到服务器,通过端口号找到具体哪个服务.网页服务的端口号是 ...
- 『无为则无心』Python基础 — 6、Python的注释
目录 1.注释的作用 2.注释的分类 单行注释 多行注释 3.注释的注意事项 4.什么时候需要使用注释 5.总结 提示:完成了前面的准备工作,之后的文章开始介绍Python的基本语法了. Python ...
- Jetpack Compose和View的互操作性
Jetpack Compose Interoperability Compose风这么大, 对于已有项目使用新技术, 难免会担心兼容性. 对于Compose来说, 至少和View的结合是无缝的. (目 ...
- Java进阶 | Proxy动态代理机制详解
一.Jvm加载对象 在说Java动态代理之前,还是要说一下Jvm加载对象的过程,这个依旧是理解动态代理的基础性原理: Java类即源代码程序.java类型文件,经过编译器编译之后就被转换成字节代码.c ...
- 温故知新,Blazor遇见大写人民币翻译机(ChineseYuanParser),践行WebAssembly SPA的实践之路
背景 在之前<温故知新,.Net Core遇见Blazor(FluentUI),属于未来的SPA框架>中我们已经初步了解了Blazor的相关概念,并且根据官方的指引完成了<创建我的第 ...
- buu 刮开有奖
一.查壳, 二.拖入ida,分析 直接搜字符串完全没头绪,在看了大佬的wp才找到了,关键函数. 明显那个String就是我们要求的flag,要开始分析程序. 字符串长度为8,同时这个函数对字符串进行了 ...
- 『心善渊』Selenium3.0基础 — 27、unittest跳过测试的使用
目录 1.什么是跳过测试 2.常用的跳过测试方法和装饰器 3.跳过测试示例 4.TestCase.skipTest()方法 1.什么是跳过测试 当测试用例写完后,有些模块有改动时候,会影响到部分用例的 ...