集成编译工作
1.Pydev+Eclipse–最好的免费pythonIDE
Pydev的是PythonIDE中使用最普遍的,原因很简单,它是免费的,同时还提供很多强大的功能来支持高效的Python编程。Pydev是一个运行在eclipse上的开源插件,它把python带进了eclipse的王国,如果你本来就是是一个eclipse的用户那么Pydev将给你家里一样的感觉。如果还不是,可能“日食”听起来有点吓人,但是值得你一试。
Pydev能高居榜首,得益于这些关键功能,包括Django集成,自动代码补全,多语言支持,集成的Python调试,代码分析,代码模板,智能缩进,括号匹配,错误标记,源代码控制集成,代码折叠,UML编辑和查看,和单元测试整合
Pydev是由AleksTtotic在2004年创建的,现在由FabioZadrozny进行维护。Pydev在社区用户的帮助,以及Liclipse,Squish,TraceTronic等公司/社团的赞助下持续进行更新。
虽然Pydev是最好的开源pythonIDE,但是它也和另一个名为Liclipse的产品一起打包,Liclipse是一个商业产品,同样也构建在eclipse上,提供了易用性改进和额外的主题选项。
除了python,Pydev也支持JythonandIronPython。
你可以在这里下周Pydev——pydev.org/download.html。
想了解更多,请到Pydev官网——pydev.org。
2.PyCharm–最好的商业pythonIDE
PyCharm是来自JetBrains公司的全功能python开发环境。过去的15年里JetBrains一直致力于发展顶级的开发工具,旨在让开发工作变得轻松和愉快。
PyCharm是专业的python集成开发环境,有两个版本。一个是免费的社区版本,另一个是面向企业开发者的更先进的专业版本。PyCharm的普及可以从这一事实来衡量,即有很多大品牌公司用户,像Twitter,Groupon,Spotify,eBay和Telefonica等都在用PyCharm。
大部分的功能在免费版本中都是可用的,包括智能代码补全、直观的项目导航、错误检查和修复、遵循PEP8规范的代码质量检查、智能重构,图形化的调试器和运行器。它还能与IPythonnotebook进行集成,并支持Anaconda及其他的科学计算包,比如matplotlib和NumPy。
PyCharm专业版本支持更多高级的功能,比如远程开发功能、数据库支持以及对web开发框架的支持等等。
我最喜欢PyCharm的原因是因为它支持很多的第三方web开发框架,比如Django、Pyramid、web2py、googleappengine和Flask,这些也使得它成为了一个完整的快速应用集成开发环境。
3.VIM
VIM是一个很先进的文本编辑器,在python开发者社区中很受欢迎。它是一个开源软件并遵循GPL协议,所以你可以免费的使用它。
虽然VIM是最好的文本编辑器,但是它提供的功能不亚于此,经过正确的配置后它可以成为一个全功能的Python开发环境。此外VIM还是一个轻量级的、模块化、快速响应的工具,非常适合那些很牛的程序员——编程从不用鼠标的人。
初始化配置需要花一定时间,因为你需要安装些VIM的插件,并配置让他们正常工作,最后你会发现这一切都是值得努力的。如果你在寻找一个linux系统下的pythonIDE,那么VIM将是你的不二选择。
4.WingIDE
WingIDE是另外一个商业的、面向专业开发人员的python集成开发环境,由wingware公司开发。15年来WingIDE一直都是一个非常成熟的产品,提供了最新的Python编程所需要的各种工具和特性。
WingIDE可以运行在windows、OSX和Linux系统上,支持最新版本的python,包括stacklessPython(python的增强版)。WingIDE分三个版本:免费的基础版,个人版,以及更强大的专业版。
调试功能是WingIDE的一大亮点,包括多线程调试,线程代码调试,自动子进程调试,断点,单步代码调试,代码数据检查等功能,此外还提供了在树莓派上进行远程调试的功能。
在代码管理方面,WingIDE能非常灵活的与Git、subversion、perforce、cvs、Bazaar、Mercurial等工具集成。
此外,WingIDE也支持其他更多的python框架,比如Maya、MotionBbuilder、Zope、PyQt、PySide、pyGTK、PySide、Django、matplotlib等等。
5.SpyderPython
SpyderPython是一个开源的python集成开发环境,非常适合用来进行科学计算方面的python开发。是一个轻量级的软件,是用python开发的,遵循MIT协议,可免费使用。
Spyderpython的基本功能包括多语言编辑器、交互式控制台、文件查看、variableexplorer、文件查找、文件管理等。SpyderIDE也可以运行于windows、Mac或者Linux系统之上。
虽然Spyder是一个独立的集成开发环境,能运行在windows、MacOS、MacOSX、Linux等系统之上。但是它也可以作为PyQT的扩展库,可以嵌入到PyQT的应用中去。
6.KomodoIDE
Komodo是Activestate公司开发的一个跨平台的集成开发环境,支持多种语言包括python。它是商用产品,但是提供了开源的免费版本叫KomodoEdit,能够安装在Mac、Windows和Linux系统上。
全功能的Komodo对教育机构用户是免费的,老师和教授可以将其应用于实验室及教学中。学生也可以通过较低的费用得到Komodo的授权许可。
和大多数的专业pythonIDE一样,Komodo也提供了代码重构,自动补全,调用提示,括号匹配,代码浏览器,代码跳转,图形化调试,多进程调试,多线程调试,断点,代码分析,集成测试单元等功能,并且集成其他的第三方库,比如pyWin32。
最新版本的Komodo提供了更多的功能与PyCharm、Pydev和WingIDE等其他pythonIDE形成了强烈的竞争关系,比如集成包管理器,变化跟踪,markdown浏览器,shellscope,快速书签等。
7.PTVS-BestPythonIDEforWindows
PTVS(PythonToolsforVisualStudio)集成在VisualStudio中,就像Pydev可以集成在eclipse中一样。PTVS将VisualStudio变成了一个强大的、功能丰富的python集成开发环境,并且它是开源的,完全的免费。PTVS发布于2015年,由社区和微软自己在维护。
PTVS支持几乎所有免费版本的VisualStudio,包括如下版本的VS2015和VS20013:
·CommunityEdition
·ExpressforWeb
·ExpressforDesktop
如果你是一个visualstudio用户,毫无疑问PTVS对于你来说是最好的python集成开发环境。
8.EricPython
Eric是一个开源python代码编辑器和集成开发环境,提供了很多高效编程需要的功能。它是纯python编写的,基于QtGUI并集成了强大的Scintilla编辑器功能。
Eric由DetlevOffenbach创建,遵循GPL协议,免费使用。经过多年的开发完善Eric已经成为一个常用的、功能丰富的集成开发环境。它提供了一个可靠的插件管理系统,可以通过插件来扩展功能。
Eric提供了所有的基础功能,比如调用提示、代码折叠、代码高亮、类浏览器、代码覆盖及分析等等。但是Eric的关键功能让它有了与其他商业pythonIDE竞争的能力:
·集成的任务管理
·单元测试支持–已集成
·重构
·正则表达式和Qt对话框核心插件
·可选择的从编辑器中启动第三方应用程序
·应用程序图
·项目管理
·交互式的Pythonshell
·多语言用户界面,包括英语,德语,俄语,法语,捷克语,西班牙语,意大利语,土耳其语和中文。
·以插件的方式集成版本控制工具Subversion,Mercurial和Git
·其他功能。
9.SublimeText3/AnacondaPythonIDE
SublimeText3是目前为止功能最强大的跨平台的、轻量级的代码编辑器。通过添加插件SublimeText3可以成一个全功能的pythonIDE。
Anaconda带给你最强大的功能是代码自动补全和代码检查。当然Anaconda也很注重基础功能如:各种各样的主题,快速响应的用户界面,配置简单,各种强大的功能扩展包。
10.Emacs-PythonEditorcumIDE
Emacs有属于它自己的生态系统,它是一个可扩展的并能高度定制的GNU文本编辑器。它可以配置为一个全功能的免费的python集成开发环境。
Emacs在python开发中很受欢迎,他通过python-mode提供了开箱即用的python。Emacs可以通过额外的扩展包来增加更多的高级功能。
② 什么是集成化编译环境
英文:ide(integrated development environment)
通常程序要让它可执行需好几个步骤(以C/C++/汇编为例):
1. 写程序: 可以用任何文本编辑器(但是ide支持语法高亮,所以可以提醒你程序写的对不对,程序读起来也很方便)
2. 编译:由源代码生成机器指令(2进制代码)
3. 链接:几乎所有程序都会调用其他的库,链接就是将库文件和第1步的2进制代码合并到一起(比如设置相应的函数调用的地址)
4. 执行。
除此之外,程序调试还需要debug。手动输一大堆debug命令也非常累人。
ide简化了这些过程,将所有东西都集成到一起,你不用背那几十个编译调试命令(还有上百种编译链接选项),只需点ide里的菜单命令或是按钮就直接完成了一连串步骤。所以有人1天可以编出来的程序,有人要一两周。
另外,如果有人对你说高手都用记事本,你真应该鄙视他。高手绝不是背诵专家,机器人才是。不会使用或是拒绝使用工具的人,简直是要大家赤手空拳对抗别人的ak47。害人害己!选个好的ide,把时间省下来去搞清原理,去学习算法,去设计。千万不要浪费自己的时间去用记事本写程序,背程序,做一个机器人。
③ MyEclipse8.0中集成java反编译工具
如果是开源的最好下载源代码,在jar右键指定对应的源代码可以直接查看
jad是java的反编译工具,反编译出来的源文件可读性不高。可惜用起来还算方便。
找到eclipse下的插件,叫jadclipse,
安装好之后,只要双击.class文件,就能直接看源文件,
包括jar包中的class文件,也可以直接反编译。
1.下载 jad
http://www.kps.com/jad.html#download
下载后解压。里面是个jad.exe的程序,我一般把他放在jdk的bin下面
2.下载 jadclipse2.06beta
http://sourceforge.net/projects/jadclipse/
按 eclipse的plguin进行安装,将jadclipse目录解压到eclipse/plugin目录下。
3.配置 jadclipse:
window>preferences>java>JadClipse中,
设置path to decompiler为jad.exe的全路径,如:d:/jdk/bin/jadjad.exe
在Directory for temporary files中指定临时文件的路径,这个默认就好。
在workbench>file associations中,
将*.class的编辑器,设为JacClipse。
4.反编译
找到一个class文件,双击打开,能看到编译后的源文件。
④ c++程序在集成编译环境中一切正常,但直接双击exe文件就出错,说是内存读取错误,可能是什么原因呢
为了提高效率,有的问题编译程序是不会去检查的。
比如如果你用了指针,那么指针所引起的一些错误编译程序往往无法发现,以及数组下标越界的错误编译程序也不会指出。
所以,尤其对于初学者,这些地方都要小心处理。检查数组下标,指针要谨慎处理——尤其是链表。
⑤ eclipse怎么集成反编译工具
方法/步骤
下载jadClipse反编译插件,然后将net.sf.jadclipse_3.3.0.jar拷贝到eclipse的plugins目录下
其次要删除configuration目录下org.eclipse.update文件,重新启动eclipse;
重启后要设置jad的可执行文件路径以及生成的临时文件路径,如图所示:
⑥ Protocol Buffers(Objective-C)踩坑指南
这篇文章是讲如何把protobuf文件的编译工作集成到Xcode中,达到在Xcode中就像添加一般的OC文件一样不进行任何多余的操作直接编译运行.proto文件的目的。
牛逼,这么智能吗?是的,就是这么智能!
笔者的公司现在所有端都在统一使用一套protobuf数据结构,免除了多端重复定义同一套数据结构的重复工作,效率很高,非常值得推荐。并且Xcode 10进行了一些小优化来增加了对Protobuf的支持,相信不久以后,Xcode对Protobuf的支持将更加智能!
至于什么是 Protobuf 和 Protobuf 语法教程,不是这篇文章的主题,请自行Google。
环境:Xcode 10+
语言:Objective-C
话不多说,正题开始:
首先,真正的企业级项目,并不只是网上很多教程里面演示的一两个 .proto 文件,而是一批 .proto 文件目录的集合,并且是多端共享的。你会发现按照那些教程里面的讲的去做写个demo或许可以,但是真正要达到企业级别的使用的时候,还远远不够,你会遇到各种各样的坑。别问我是怎么知道的,我都是靠自己一个个踩出来的。
首先,要能编译Protobuf文件,我们得安装官方的编译器。你可以选择下面任意一种你喜欢的安装方式:
安装好后,在terminal中输入 which protoc 检测是否安装成功,如安装成功会返回文件路径: /usr/local/bin/protoc
如有问题,请自行google,不在本教程范围内。
没什么好说的,新建一个Xcode工程。使用Cocoapods引入Protobuf的库:
Pod search Protobuf
选择最稳定的版本即可。
这里有两种创建.proto文件的方式:
至于文件内容,如果你熟悉protobuf语法,那随便写几行即可,如果不熟悉,那么可以我的测试内容:
A.proto 文件内容:
B.proto 文件内容:
Xcode 自己并不认识 .proto文件,所以并不会自动编译它们,我们需要把 .proto编译器 自己集成到项目当中,集成的方式如下:
Project --> Build Rules --> 点击+号 ,生成一个特定文件类型编译脚本。
比如:
到此处,我们有几个注意事项:
我们试试把 --proto_path 换成相对路径,看会发生什么,也就是把脚本换成
编译运行,咦~报错了。查看日志,我们可以看到这么一条log信息:
翻译过来就是在--proto_path这个参数中你必须指定.proto源文件的精确路径, protoc 太笨了,它无法搞清楚这个相对路径是不是我们要的绝对路径。google的工程师说这太他么难了。所以这里很明确了, --proto_path 的参数值,只能是proto文件根目录的绝对路径。
我们上面说了,${INPUT_FILE_PATH} 是代表编译输入源文件的绝对路径。
文档里面给的demo是:
protoc --proto_path=src --objc_out=build/gen src/foo.proto src/bar/baz.proto
什么意思呢?
它说,最终编译器会把 src/foo.proto 文件编译成: build/gen/Foo.pbobjc.h 和 build/gen/Foo.pbobjc.m 文件。
而会把 src/bar/baz.proto 文件编译成 build/gen/bar/Baz.pbobjc.h 和 build/gen/bar/Baz.pbobjc.m 。
而不是 build/gen/Baz.pbobjc.h 和 build/gen/Baz.pbobjc.m
也就是说protobuf编译器最终生成的文件会自动按照文件源目录结构存放。
特别强调 并不会 自动创建 build/gen 目录,这个目录需要你提前建好。
并且,查看最终编译生成的.m文件,你会发现一些有趣的事情;比如我在A.proto中引入了B.proto文件,你会看到Protobuf最终编译出来的A.pbobjc.m文件导入文件的格式是包含文件路径的,例如:
我们注意到,上面设置的proto文件的编译输出路径是 $DERIVED_FILE_DIR , 这是为何呢?
答案是为了方便Xcode的集成。
对于自定义的编译脚本,都需要设置一个文件的输出路径.
我们点脚本框下面的Output Files下面的 + 号, 指定文件输出路径。
因为OC文件分为.h和.m文件,所以我们指定2个。
点了之后,你会发现,xcode默认给出的是 $(DERIVED_FILE_DIR)/newOutputFile ,
我们将其改为 $(DERIVED_FILE_DIR)/${INPUT_FILE_BASE}.pbobjc.h 和 $(DERIVED_FILE_DIR)/${INPUT_FILE_BASE}.pbobjc.m ,并且在.m文件的 Compiler Flags 中指定为 -fno-objc-arc 代表该.m文件采用mrc编译。
编译运行,大功告成,是不可能的!!!!
你会发现又报错了:
什么意思呢? 其实就是在 DerivedSources 下找不到 A.pbobjc.m 文件。因为我们指定这个编译的输出路径在这个目录下,所以Xcode在进行OC文件的编译时会去这个目录下找,但是它找不到。为什么找不到呢?我们去这个目录下看,这个目录下确实没有 A.pbobjc.m 这个文件,但是确发现有 a/A.pbobjc.m 。原因我们已经说了,protoc最终的编译文件会自动加上目录前缀。
有人可能会说,能不能把输出文件改成 $(DERIVED_FILE_DIR)/*/${INPUT_FILE_BASE}.pbobjc.h 呢?那我们就来试下。
编译运行
what the hell?
原来,Xcode的Output Files特别蠢,它不支持类似这种通配符写法: $(DERIVED_FILE_DIR)/*/${INPUT_FILE_BASE}.pbobjc.h 。
也不支持传入任何的自定义变量。
只能是明确的文件路径和Xcode自带的环境变量,但是实际项目中,可能不只一层路径,有可能是文件夹下嵌套文件夹。
靠,那这怎么办呢?
实在没办法了,就在打算放弃的时候,咨询了我们的脚本大神,我们尝试了以下在脚本末尾再加了两行:
是不是很机智?
什么意思呢?就是说我们cd到该目录,然后找到该文件对应生成的oc文件,将其一份儿到根目录。怀着求神拜佛的意志,运行了以下,Perfect,终于不再报错了,到目录中查看,也正是我们想要的,所有文件都被出来了。
下一步,就是正常的在项目中import和使用了。
你以为到此就没有坑了吗?到此还有坑。有2点需要注意:
好了,就讲到这里吧,如果觉得文章看得不是很明白,需要一个demo。或者大神有更好的建议,请在评论区留言~
如果文章对你有帮助,请不要吝啬你的点赞哦,你的支持是我分享的动力~
如果大家喜欢,有时间再讲讲怎么改改AFNetworking,能直接请求后端给的 Protobuf 格式的数据~
⑦ 集成开发环境和ide和编译器和编译工具有什么关系吗
IDE就是集成开发环境的英文缩写,一般集成开发环境里集成了编译器和解释器,
编译工具当然就是有编译功能的工具了。
⑧ 编译程序与集成开发环境有什么不同举例说ming
以下选自网络:
集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。
换句话说,编译器只是集成开发环境的一部分。
比如最常见的集成开发环境:Visual Studio(其使用的编译器是cl(貌似今年会集成clang编译器))。
除cl外,比较常见的编译器还有gcc。
⑨ VC 编译功能集成进Sourceinsight
VC
编译功能集成进Sourceinsight
由于作者比较喜欢使用sourceinsight和VC(Version
6.0),在用惯了sourceinsight后对VC的IDE代码游览功能无法忍受,于是翻了一下sourceinsight的help(好东东,内面有很多宝,可惜不会用,也没有抛砖引玉的书籍或资料来介绍:-(,看help有时候看得头晕),经过一翻折腾后,将VC的编译功能集成到了
sourceinsight中.(要是将VC调试的功能加进来该多NB,哈哈,不可能的,SI只不过是超专业的代码游览器,不管调试的).
废话少说,言归正传.
基本配置:
PC
+
OS(Windows)
+
sourceinsight
(http://www.sourceinsight.com)
+
VC6.0
(我只试过VC6.0)
Step:
1.
运行sourceinsight,选择Options==>Custom
commands...
出现Custom
commands对话框
a)
在
Command:
下拉列表框中选择Build
Project
b)
在Run:
编辑框中填入
msdev
%o.dsp
/make
c)
在Output
组选中Iconic
Window和Capture
Output两项
d)
在Control
组选中Save
Files
First一项
e)
在Source
Links
in
Output选中Parse
Links
in
Output及File,then
line两项
f)
Pattern
编辑框内容:
^\([a-zA-Z].*\)(\([0-9][0-9]*\)).*
<==
(缺省,一般不需要改变)
2.
在用户的环境变量中加入下列项
例:
david
的用户变量
-----------------------------------------------------------------------------------------
变量
值
-----------------------------------------------------------------------------------------
include
-----------------------------------------------------------------------------------------
lib
-----------------------------------------------------------------------------------------
MSDevDir
-----------------------------------------------------------------------------------------
path
-----------------------------------------------------------------------------------------
项目的内容参考VC
IDE
的Tools==>Options=>Directories,将其中的内容对号入座.
Note:
注销后,环境变量才能生效.
3.
用VC6.0创建一个Helloworld例子,用sourceinsight建立Helloworld项目,注意在弹出New
project
settings对话框时,Project
Source
directory应设为Helloworld目录.运行Build命令,搞一两个bug出来,看一看工作成果.
4.
Enjoy
youself
with
it!
:-)
⑩ 集成开发环境是什么
IDE (Integrated Development Environment) 集成开发环境
集成开发环境(简称IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、debug功能等一体化的开发软件套。所有具备这一特性的软件或者软件套(组)都可以叫做IDE。如微软的Visual Studio系列,Borland的C++ Builder,Delphi系列等。该程序可以独立运行,也可以和其它程序并用。例如,BASIC语言在微软办公软件中可以使用,可以在微软Word文档中编写WordBasic程序。IDE为用户使用Visual Basic、Java和PowerBuilder等现代编程语言提供了方便。 不同的技术体系有不同的IDE。比如visual studio.Net可以称为C++、VB、C#等语言的集成开发环境,所以visual studio.Net可以叫做IDE。同样,Borland的JBuilder也是一个IDE,它是Java的IDE。zend studio、editplus、ultra edit这些,每一个都具备基本的编码、调试功能,所以每一个都可以称作IDE。
IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSite、DreamWeaver、FrontPage,等等),因为很多项任务会自动生成。IDE集成代码编辑,代码生成,界面设计,调试,编译等功能,目前还融合了建模功能。