新闻资讯
工作中有哪些使用过的编译器?
2018-04-18
工作之中难免会用到很多的工具,,一步步走过来也算是蹒跚满志。现如今只剩下会用vim gcc了。不是其它工具不会用因为用的少了慢慢的就生疏了,习惯形成了也就不好改了。要我说用那款能编译器更好的工作,着实很为难。编程贵在思想,用什么去实现着些那便是仁者见仁智者见智了。   但是每个工具有每个工具好用之处,希望以个人之拙见来说说初学者如何选择一款适合自己的编译器。   window中的:   Turbo C   它太老了,想当年舍它其谁,大学里都用它,老谭的c都是用它调试的,曾经多少人的回忆,不过现在已经基本不用它了,老了也该退休了。   dev-cpp          这个我个人觉得适合初学者,Dev-C++是Windows平台下的开源C++编程环境。它集成了GCC、MinGW32等众多自由软件,界面类似Visual Studio,但体积要小的多。它的缺点是难以胜任规模较大的软件项目。但我们初学者一般都调试一些初级的语法、算法。用关公大刀显然不合适,用它得心应手。   mingw studio   MinGW,即 Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC 产生 Windows32 程序。   vc++6.0   相信大家对这个情有独钟,广泛使用的一款编译工具,window 开发必备,集合编辑,调试,运行于一体,特别时调试功能我觉得没有比他更好的了,后续版本vs2008,vs2010...(大工程适用)功能越来越强大,越来越好用。不过就是安装起来有些麻烦,可能机器环境不一样会出现各种安装错误,这些需要我们去耐心百度解决。   C++ Builder   C++ Builder是由Borland公司推出的一款可视化集成开发工具。C++ Builder具有快速的可视化开发环境:只要简单地把控件(Component)拖到窗体(Form)上,定义一下它的属性,设置一下它的外观,就可以快速地建立应用程序界面;C++ Builder内置了100多个完全封装了Windows公用特性且具有完全可扩展性(包括全面支持ActiveX控件)的可重用控件;C++ Builder具有一个专业C++开发环境所能提供的全部功能:快速、高效、灵活的编译器优化,逐步连接,CPU透视,命令行工具等。它实现了可视化的编程环境和功能强大的编程语言(C++)的完美结合。   linux中的:   gcc   貌似好像就gcc了,功能十分的强大,没有图形界面只有命令。window使用习惯了的人,适应步了这样的操作。在linux下基本都是命令加脚本构建我们的编译系统。gcc是最终干事的,但如何去干事还是需要脚本命令工具和人共同完成的。     个人只使用TC,dev-cpp,vc++6.0,vs2008,gcc。其他几个捣鼓过但是基本上没认真使用过。window上的编译工具太多了,但是好用能用的就那几款,初学者我建议使用在window上使用dev-cpp(小,简单易上手)编写一些c/c++基础的例子,调试起来也方便。linux下基本时没有其他选择的gcc功能太强大。java学习基本上用eclipse,不知道还有比这个好用的,我觉得没有。   对于初学者来说我觉得过多的去注重编译器没有太大意义,与其把时间花在环境配置上,不如多去学习语法算法,等你明白语言本身的一些东西,会算法了。如何编译只是百度一下熟悉一下工具的事情。
查看更多→
编译器是如何编译的?
2018-04-15
  不是其它工具不会用由于用的少了渐渐的就目生了,习气构成了也就不好改了。要我说用那款编译器能更好的义务,真实很爲难。编程贵在思惟,用什麼去完成着些那便是仁者见仁智者见智了。   我感受如今有些人把这个成果复杂化了,可以是如今良多数桶水的轨范员处在计较机太高层的阶段,对底层的工具发作了惊骇。信托大师对这个情有独钟,普及运用的一款编译工具,window 开发必备,集结编纂,调试,运转于一体,特别时调试功用我感受没有比他更好的了,后续版本vs2008,vs2010...(大工程合用)功用越来越强大,越来越好用。不外就是安装起来有些费事,可以机器情形不一样会出现各类安装错误,这些必要我们去耐烦百度处置。   编译就是把人看的说话翻译成010101,编译器才不会管你的源代码是什麼干什麼,只需没错误,他就按照一定轨则去翻译。所以实践上,C说话的编译器可以由Java写,可以由Python写,可以由BASIC写,固然,由C说话写也可以。归正我不管你用什麼说话写,只需终极生成的轨范可以把某一种人看的说话(例如C)精确地翻译成0101010,你就算这种说话的编译器!!   对付初学者来说我感受过多的去留意编译器没有太大意义,与其把时辰花在情形设置装备布置上,不如多去进修语法算法,等你知道说话本身的一些工具,会算法了。若何编译只是百度一下熟习一下工具的义务。   译器前端担任生成机器有关的中心代码,编译器后端将中心代码转换成方针机器代码。多麼对付一些可以跨平台的编译器而言,它们可以针对不合的平台运用分歧个前端和针对不合的机器平台的数个后端。
查看更多→
Altium Designer 快速制作原理图库的技巧
2018-04-15
  作原理图库时,如果逐个管脚双击修改名称是非常繁琐的。而且效率低容易出现错误。本文介绍一种快速的制作原理图图库的方法。   1、新建一个Excel表格,按照下图格式填好各个管脚的编号和名称,X1,Y1代表引脚的位置.。红色部分是固定格式。   2、在AD原理图库里新建一个器件。然后点击右下角的SCH 工具栏选择SCHLIB List 或View-Workspace-SCH-SCHLIB List。   3、把SCHLIB list设置成edit模式   4、把事先制作好的Excel表格里的内容全部复制,回到SCHLIB list界面。单击右键选择“Smart Grid Insert”   5、上一步结束后会跳出一个窗口如下图所示,点击 AutomaticalyDeterminePAaste,然后点击OK;   6、以上操作结束后就可以看到所有管脚已经放好了。接下来手动调整一下管脚角度加上边框即可完成制作。
查看更多→
Altium Designer 快速制作原理图库的技巧
2018-04-12
    作原理图库时,如果逐个管脚双击修改名称是非常繁琐的。而且效率低容易出现错误。本文介绍一种快速的制作原理图图库的方法。       1、新建一个Excel表格,按照下图格式填好各个管脚的编号和名称,X1,Y1代表引脚的位置.。红色部分是固定格式。       2、在AD原理图库里新建一个器件。然后点击右下角的SCH 工具栏选择SCHLIB List 或View-Workspace-SCH-SCHLIB List。         3、把SCHLIB list设置成edit模式       4、把事先制作好的Excel表格里的内容全部复制,回到SCHLIB list界面。单击右键选择“Smart Grid Insert”       5、上一步结束后会跳出一个窗口如下图所示,点击 AutomaticalyDeterminePAaste,然后点击OK;        6、以上操作结束后就可以看到所有管脚已经放好了。接下来手动调整一下管脚角度加上边框即可完成制作。
查看更多→
初学者选择哪一款编译器
2018-04-12
一个是详细的规范软件,别的一个是开发的情形,它收罗一系列开发所必要的软件工具,固然其中也收罗编译器在外面。         编译器只是一个把源代码编译成方针代码的工具而已,一致个编译器可以存在于不合的开发情形中,它可以存在于VS的开发情形,也可以存在于codeblock这个开发情形,还可以存在Eclipse外面,一样往常开发情形都可以自身设置配备布置选择编译器等这些软件。每一家的编译器都能够会供应不合库函数和头文件,像早期的Borland的C编译器与Microsoft的就良多不合,也有群友问爲什麼在VC外面找不到一些头文件就是这个事理。       一个开发情形除了一样往常的编译器,还收罗编纂器,预措置器,毗邻器,方针文件复制,汇编器,反汇编器等等,它实质上是一个综合了编写代码,编译,调试,甚至末了的实行文件打包工具于一体的一些列工具集结,所以名副其实就是一个情形,不是详细某一个工具软件。并且往往开发情形不只是支撑一种说话,比方VS,它可以支撑C/C++、VB、C#等说话开发。它除了供应这些工具集,还做了良多格外的任务,比方帮你结构Makefile、编译毗邻设置配备布置、自动生成情形变量等。      实际上要写最复杂的开发情形的软件其实不难,就是供应一个代码编纂器,然后挪用相应的编译器来编译这些源代码,只需有makefile编写根基功的都不是太难。      经由进程体味编译器,你可以很清楚地知道哪些优化是编译器可以优化的,和哪些是编译器不能中止优化的,无论他们看起来是何等的合理和复杂。你将会学到哪类代码通常会建造最佳代码块,爲什麼会多么和这些代码做了什麼。      你会知道爲什麼一些代码可以拥有更好的机能,比方运用一半寄放器组缓存滤波系数一半寄放器组缓存样本的FIR滤波器,它和运用浅显优化器完成的不一样。你和你喜好的编译器是一个能建树疾速代码的团队,你可以运用它高效地任务,或许运用延迟优化等有意义的技巧来改削它。
查看更多→
MDK编译器警告和错误详解
2018-03-29
工作后从单片机转成ARM,刚开始用ADS1.2编译器,用了一段时间,因为我接手的项目的老程序正是用ADS编译的,部门也大都在用.在学单片机的时候用的是keil.c51编译器,ads和这个编译器在易用性上真是无法比较.后来渐渐知道keil已经被arm公司收购,现在keil.MDK成为了arm官方编译器,所以决定重新投奔keil,利用平时的时间,将原程序重新用mdk编译.小编在这里把平时遇到的编译器给出的警告和错误信息给出详解,希望给初学者一点帮助。    1.warning:  #550-D: variable "d" was set but never used 描述:变量'd'定义但从未使用,或者是,虽然这个变量你使用了,但编译器认为变量d所在的语句没有意义,编译器把它优化了. 解决:仔细衡量所定义的变量d是否有用,若是认定变量d所在语句有意义,那么尝试用volatile关键字修饰变量d,若是真的没有用,那么删除掉以释放可能的内存.   2.warning:  #1-D: last line of file ends without a newline 描述:文件最后一行不是新的一行.编译器要求程序文件的最后一行必须是空行,想了半天没想通为什么要这样. 解决:可以不理会.若是觉得出现警告不爽,那么在出现警告的文件的最后一行敲个回车,空出一行.   3. warning:  #111-D: statement is unreachable 描述:声明不可能到达.多出现在这种场合: 解决:不理会.   4. warning: C3017W: data may be used before being set 描述:变量'data'在使用前没有明确的赋值 解决:应仔细衡量该变量的初始值是否为0,若是,可以不理会这个警告,因为MDK编译器在程序执行前,会将使用到的数据区初始化为0,但若是该变量的初始值不应该是0,忽略这个警告可能会引起致命错误.这个警告应引起足够重视.应养成变量赋初值的习惯,好在有编译器给把关.   5. warning:  #177-D: variable "temp" was declared but never referenced 描述:变量'temp'进行了声明但没有引用.多出现在声明了一个变量,但却没有使用它,它和warning:  #550-D: variable "temp" was set but never used不同之处在于temp从没有使用过. 解决:若是定义的变量确实没有用,删除掉;若是有用,则在程序中使用. 与该警告类似的还有 warning:  #177-D: function "MACProcessBeacon" was declared but never referenced   6. warning:  #940-D: missing return statement at end of non-void function "DealwithInspect2" 描述:返回非空的函数"DealwithInspect2"的最后缺少返回值声明.   7..warning:  #1295-D: Deprecated declaration lcd_init - give arg types 描述:在定义函数的时候,如果你写上函数参数,就会有这个警告,比如void timer_init(); 这里就没有形参,如果这样的话,编译器会给出警告.
查看更多→
ARM编译器体系构造对运转平台的支持
2018-03-23
 ARM编译器体系构造对运转平台的支持 ——Jazelle技术 运转Java虚拟机(JVM)解释Java字节码这种方式对大少数嵌入式使用来说占用空间过多,运转速渡过慢。而零碎开展的趋向及市场的需求决议了Java使用需求有更强的图形处置才能以及一个弱小的Java虚拟机。于是催生出了Jazelle技术,从硬件上对Java虚拟机提供支持。 Jazelle DBX(Direct Bytecode eXecuTIon)是一种硬件架构扩展技术,爲ARM处置器引入了第三套指令集—Java字节码。新指令集树立了一种新的形态,处置器在此形态下处置Java字节码取指令、译码和维护Java操作数栈等义务。允许它们在某些架构的硬件上减速执行Java字节码,就如其他执行形式般,它能在现存的ARM编译器与Thumb形式之间相互切换。爲了降低芯片尺寸并进步功能,Jazelle DBX没有设计成传统方式的微引擎,而是融入流水线中的一个无限形态机。 Jazelle DBX技术添加了一条新的“Branch-to-Java”指令来进入Java形态。此指令支持条件执行,先反省条件标志,假如条件满足,处置器进入Java形态,跳转到指定目的地址,开端执行Java字节码。在Java形态下,PC存放器仍是32位寻址Java字节代码。字节码的取指、译码辨别在两个流水段完成(对应ARM/Thumb形态下爲一个译码流水级)。32位的取指令操作一次性可以取4个Java字节码,功能劣势非常分明,关于一个高度优化的商业Java虚拟机,运转评测顺序或复杂的MIDP2.0使用,Jazelle DBX技术通常可带来约2~4倍的功能提升。Jazelle DBX技术允许一切的Java指令是“可重新开端”的。这样在执行Java指令进程中,即刻呼应中缀,从而增加中缀延迟,确保实时功能。 在ARM处置器的Java形态下,有若干个ARM编译器存放器可以功用复用(包括栈指针、栈顶四项(top4 elements of stack)、部分变量0等)。正是这些硬件复用设计,才使得只用了很少的额定逻辑(约一万两千门)就完成了一个Java机。把一切Jazelle DBX扩展所需的形态用ARM存放器保管,也保证了和现有操作零碎、中缀处置顺序和异常处置代码的兼容性。把栈顶四项保管在ARM存放器中也能进步Java功能。少量的顺序剖析显示,大少数顺序的栈深度是很小的,所以这项战略可以尽量增加内存拜访,硬件也可自动处置栈溢出或下溢。 和Java协处置器或其它公用Java处置器设计不同的是,Jazelle DBX和主处置器共用缓存,这一方面可以降低功耗,而且还可以进步功能。另一个重要的设计思索是确保Jazelle DBX技术不会影响实时中缀功能,仍坚持与操作零碎中已有ARM编译器异常处置代码的兼容。 关于九游会J9电子 九游会J9电子是国际全面的开发工具提供商, 努力于将全球先进的软件商品举荐给国际研发型企业运用,爲企业提供研发、设计、管理进程中运用的各种软件工具,并努力于和客户一同进步研发、设计效率,延长设计周期。九游会J9电子先后与ARM、Altium、Ansys、QT、TestPlant、CollabNet、Parasoft以及TouchGFX等多家全球知名公司树立战略协作同伴关系,并成爲他们在中国区的重要分销协作同伴。 九游会J9电子专注开发、设计、管理工具数十年,客户超越6000家,具有丰厚的工具运用及客户支持经历积聚,可以爲客户提供从ARM开发、EDA板级设计、软件编译及测试工具、构造设计工具、多物理场仿真工具以及嵌入式GUI工具等商品与效劳。九游会J9电子在北京、上海、深圳设有分公司,业务遍及全国。
查看更多→
ARM开发工具DS-5到底是什么?有什么用?
2018-03-20
  DS-5 是ARM 2010年新推出的,很多用户还不知道它究竟为何物,有什么用处。所以今天九游会J9电子 简要说明DS-5 开发工具,为入门者做一个清晰的介绍。   1、ARM DS-5 从以下工具发展而来:DS-5   2、ARM DS-5 支持裸机程序 、u-boot 、Linux 和 Android Kernel、驱动、应用程序开发,以及Freescale MQX、Micrium uC/OS、Keil RTX、ENEA OSE、FreeRTOS、Express Logic ThreadX 等实时操作系统。   3、ARM DS-5 支持开发所有基于ARM内核的芯片,包括:   老ARM内核 : ARM7、ARM9、ARM11。   Cortex-M系列内核 : Cortex-M0、Cortex-M1、Cortex-M3、Cortex-M4。   Cortex-R系列内核 :Cortex-R4、Cortex-R5、Cortex-R7。   Cortex-A系列内核 :Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A12、Cortex-A15。   Cortex-A50系列内核 :Cortex-A53、Cortex-A57。   以及ARM最新发布的所有内核芯片。   4、ARM DS-5基于Eclipse集成开发环境 。   5、ARM DS-5使用ARM编译器 ,代码优化程度比GNU高30%以上。   6、ARM DS-5配合 DSTREAM仿真器 、 RVI 仿真器 、ULINKpro仿真器 、ULINKpro D仿真器 进行内核和硬件调试。   7、ARM DS-5配合gdbserver进行Linux应用调试。   8、ARM DS-5有Cortex-A7,Cortex-A8,Cortex-A9,Cortex-A15。。。等处理器的实时模拟器。   9、ARM DS-5有图形化的Streamline性能分析器。可基于C源码、汇编程序、地址对bear裸机程序、uboot、kernel、驱动、app进行热点、程序瓶颈、CPU使用、Cache hit/miss、功耗分析。   10、ARM DS-5有 专业版 、社区版 (免费版)2个版本。   11、ARM DS-5可以在 Window系统 和 Linux系统 主机上使用。   12、ARM DS-5的详细介绍地址:http://tools.emdoor.com   13、DS-5是ARM最新主推的开发工具,配合DSTREAM仿真器,可以进行功能强大的调试、仿真、性能分析功能。   14、ARM DS-5国内由九游会J9电子提供技术支持和销售服务。   九游会J9电子 是国内全面的开发工具提供商,致力于将全球先进的软件产品引荐给国内研发型企业使用,为企业提供研发、设计管理过程中使用的各种软件工具,并致力于和客户一同提高研发、设计效率,缩短设计周期。   九游会J9电子 专注开发、设计、管理工具数据,客户超过6000家,具有丰富的工具使用及客户支持经营累计,可以为客户提供从ARM开发、EDA板级设计、软件编译及测试工具、结构设计工具、多物理场仿真工具以及嵌入式GUI工具等产品与服务。
查看更多→