当前位置: 首页 > news >正文

专做脚本的网站/seo赚钱方式

专做脚本的网站,seo赚钱方式,做企业展示网站需要多少钱,游戏型网站开发一、前言 集成开发环境(简称IDE Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件…

一、前言

     集成开发环境(简称IDE Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套装。所有具备这一特性的软件或者软件套装都可以叫做集成开发环境。

     Windows下的Visual Studio、Delphi,Linux下的Eclipse都属于IDE。

     可能大家有个疑问,既然各个系统都有这些非常成熟的产品,为什么还要再搭配一个呢。众所周知,VS非常庞大,你可能只需要编译基础的C和C++,但是VS把MFC、.net一大堆的框架全都安装进你的系统,虽然VS的调试器还是不错的,不过他的代码编辑器非常不完善,通常还需要安装一大堆插件来完成代码编写。Delphi的Rapid开发不错,但也仅限于Object Pascal语言和VCL框架。Eclipse基于Java环境,也能for win32,插件也非常丰富,就是启动速度比较慢,而且他建立的每个工程,都需要编写makefile,熟悉Linux的可能对此非常欣赏,但对于用惯了VS的,都会产生一个抵触感。另外,使用Vim/gvim和Emacs也不错,能完成编写代码的大部分工作,调试也可以通过插件完成,不过配置相当麻烦,如果你需要很多语言混合编程的话,这个配置文件就够你受的。因此,需要找到一个IDE,以求避免这些缺点。

    Code::Blocks就是一个满足条件的IDE。Code::Blocks本身是一个开放源码的全功能的跨平台C/C++集成开发环境,可以通过插件来扩充自身的功能。

    由于他本身就是以开发C/C++为目标的,官网上相关的文档也非常丰富,再次不再赘述搭建C/C++的基本内容。

    FORTRAN,是英文“FORmula TRANslator”的缩写,译为“公式翻译器”,它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。Fortran语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。

    本来,Fortran是有个比较优秀的IDE的,即Compaq Visual Fortran,但是已经不再开发,也不支持最新的Fortran 2003之后的标准,对现在的CPU识别不佳,生成的代码效率比现在的流行的编译器要慢上不少。并且也缺少诸如代码提示、自动完成、变量导出等等对编写代码很有帮助的功能。此外,现在比较流行的Intel Visual Fortran也可以通过插件的形式嵌入Visual Studio 2008中,不过VS插件的代码提示、自动完成对Fortran语言无效,只能使Fortraner看着VS上的一大堆C/C++插件望眼欲穿。

    而Code::Blocks下有个专属于Fortran的插件FortranProject plugin,可以完成类似于VS下的Visual Assist插件的诸多功能,不过是针对Fortran语言的。

    下面就对Code::Blocks配置Fortran环境做个说明。

 

二、编译Code::Blocks

    如果要使用FortranProject plugin,需要Code::Blocks相同版本的sdk,为了方便起见,我们从头编译下Code::Blocks。

    编译Code::Blocks需要WxWidgets和gcc编译器,在此选择比较稳定的WxWidgets 2.8.11版和gcc 4.4.4(已经附带gfortran),下载后编译WxWidgets库(网上有关WxWidgets编译的内容很多,可以自行查阅)。

    另外,我们需要一个旧版本的Code::Blocks,和SVN上的最新源代码,命令为

svn checkout svn://svn.berlios.de/codeblocks/trunk 

   

    在Code::Blocks里新建wx和CB的全局变量,wx指向WxWidgets的位置,CB指向源代码目录下的src目录和include目录。

    打开src下的CodeBlocks.cbp的Code::Blocks工程,选Build All(之前可以调整优化参数),经过一段时间,Code::Blocks主体程序就会编译完成。

    再用Code::Blocks打开src目录下的ContribPlugins.workspace,选择Build Workspace编译CB的插件。

    执行完后,运行src\update.bat批处理,把WxWidgets生成的wxmsw28u_gcc_4.4.dll复制到src\output中,那么output里的最新SVN版的Code::Blocks就可以运行了。

 

三、编译FortranProject plugin

    去FortranProject plugin官网上下载最新的0.4版,这个版本比0.3版多出一个setting,这样就不用修改源代码来适应代码完成的延时了。

    使用上述编译完成的CB打开FortranProject plugin工程,选Build Project,编译完成后在其工程目录生成一个FortranProject.cbplugin插件文件,在CB里选择Plugins-Manage Plugins-install new,安装这个插件,这样FortranProject plugin就集成到CB里了。

    然后在CB里配置gfortran编译器和gdb调试器,这里省略。

   

四、FortranProject plugin的功能

    由于FortranProject plugin是在CB另一个插件Code Completion基础上修改的,两个插件有些冲突,编写Fortran程序时把Code Completion插件禁用。

1、代码高亮

image

2、变量名提示

image

image

3、关键字提示

image

4、函数形参提示

image

5、函数跳转

image 

6、变量和函数声明提示

image

7、列出程序里的函数

image

8、设置窗口

image

9、其他功能参照FortranProject plugin作者的说明。

 

五、完善Fortran IDE

1、加入Fortran的Console工程    

     配置完上述内容,编写编译调试都没有问题了,不过得新建一个empty工程,新建文件来进行Fortran程序的编写,能不能把CB的Console工程加入Fortran的支持呢?

     进入CB文件夹的\share\CodeBlocks\templates\wizard\console中,新建一个目录f90,在f90目录下新建一个main.f90的文件,内容按你自己的喜好,这里的内容为

!main.f90program mainimplicit nonewrite (*,*) "Hello world!"stopend program

  

     更改wizard.script下面的语句

     把

Wizard.AddGenericSingleChoiceListPage(_T("ConsoleLanguagePage"),_T("Please select the language you want to use."),_T("C;C++"), ConsoleLang); // select language

     修改为

Wizard.AddGenericSingleChoiceListPage(_T("ConsoleLanguagePage"),_T("Please select the language you want to use."),_T("C;C++;f90"), ConsoleLang); // select language

    

     把

if (ConsoleLang == 0) // C source fileresult = _T("console/c");else // C++ source fileresult = _T("console/cpp");

     修改为

if (ConsoleLang == 0) // C source fileresult = _T("console/c");else if (ConsoleLang ==1)// C++ source fileresult = _T("console/cpp");elseresult = _T("console/f90");

   

    运行Code::Blocks,新建工程,选择Console application,

    image

    image         

          选择f90,再选择编译器,就会出现刚才编写的以main.f90为基础的Console工程。

          image 

2、格式化Fortran代码

     Code::Blocks自带Astyle的格式化代码功能,不过不支持Fortran,Fortran源码千万不要用Astyle格式化,否则会全部乱套。Fortran的格式化插件现在还没有,但是Vim的插件可以完成此功能,CB又支持外挂程序,通过vim进行后台的格式化代码操作是一个很好的途径。

     这里仅使用Vim的格式化代码功能,所以对Vim进行一下精简(未对Vim主程序UPX压缩前,1M多一点儿)。

     Vim格式化代码仅需要以下文件

     image     indent目录里只保留一个fortran.vim。

     script内容为

gg=G:x

     这是为了使用Vim的gg=G进行格式化的脚本。

     配置文件_vimrc添加以下内容

"打开对文件类型插件的支持
filetype plugin on
filetype plugin indent on"设置制表符宽度,默认为
set tabstop=6
set cindent shiftwidth=6
set autoindent shiftwidth=6"Fortran 语法
let fortran_more_precise=1
let fortran_do_enddo=1
let fortran_if_elseif_endif=1"设置无备份文件
set writebackup
set nobackup

    把精简后的Vim放到CB程序目录里的Vim文件夹下。

    回到CB界面,选择Tools-Configure Tools,添加一个Code Format,进行编辑。

    配置如下:

    image 

    看看把一个打乱的代码如何格式化美观吧。

            program mainimplicit nonereal :: MyaaabbbMyaaabbb=1.call test(aaa,bbb)if (aaa>1) thenwrite(*,*) "aaa>1"elsewrite(*,*) "error"endif      write(*,*) Myaaabbb,cccstopend programsubroutine test(aaa,bbb)implicit nonereal :: aaa,bbbbbb=aaa*2.end subroutine

    选择Tools-Code Format,CB会提示你文件更改,选择Yes,效果如下:

program mainimplicit nonereal :: MyaaabbbMyaaabbb=1.call test(aaa,bbb)if (aaa>1) thenwrite(*,*) "aaa>1"elsewrite(*,*) "error"endifwrite(*,*) Myaaabbb,cccstopend programsubroutine test(aaa,bbb)implicit nonereal :: aaa,bbbbbb=aaa*2.
end subroutine

 

六、后记

     Fortran的IDE至此就基本配置完毕,诸如编译器和调试器的配置请读者Google。如果想在新建工程里加入Fortran的其他工程,比如Lib、Dll等,可以参照上述修改Console的工程修改。

     此外,CB只支持gdb和cdb调试,而cdb不支持fortran符号,gdb对fortran的动态数组和module支持不佳,调试上有些苦恼。Intel的idb调试器对这个支持颇好,但是现在CB还不认idb的符号,所以debug时可以使用其他手段(输出看结果等)。idb嵌入VS的调试器也很好,我通过CB的外挂程序(连接VS里的idb)进行调试,一般的程序可以正常调试,如果存在module时老是发生错误,这个问题等解决后再在后文书写。

            Good luck!Welcome to the trip of Code::Blocks for fortran.

转载于:https://www.cnblogs.com/xunxun1982/archive/2010/05/21/1740551.html

http://www.lbrq.cn/news/943057.html

相关文章:

  • 网站蓝色/百度爱采购官网首页
  • js与asp.net做的网站/南昌seo报价
  • 吉安做网站的公司/创建网站的软件
  • 网站建设精英/培训学校加盟费用
  • 网站如何在百度上做推广/网站设计公司
  • 一个网站建设大概需要多少费用/推广平台app
  • 泰安城乡建设委员会的网站/买了500元黑科技引流靠谱吗
  • 武汉做网站 古凡/网络营销包括哪些
  • 黑龙江门户网站建设/seo排名培训
  • SEO案例网站建设公司/游戏推广一个月能拿多少钱
  • 做任务网站建设/关键词排名代做
  • 彩票网站怎么做系统/今日头条新闻10条简短
  • 南宁市兴宁区建设局网站/怎么申请网站
  • 做彩网站/福建百度开户
  • 网站建设的系统简介/夫唯老师seo
  • 行业协会网站模板/关键词排名点击软件怎样
  • 做建筑看那些网站/seo谷歌外贸推广
  • 做网站常用的jquery/网络营销的特征和功能
  • wordpress二次开发赚钱/河南网站优化公司哪家好
  • 网站建设有什么优点/搜索引擎优化排名优化培训
  • 长治市郊区住房建设局网站/windows优化大师有哪些功能
  • 做网站好公司哪家好/互联网优化
  • 苏州做学校网站的/淘宝运营培训机构
  • 建立局域网网站/关键词百度云
  • 泰安网站建设哪家专业/怎么做好网络推广销售
  • 西安网站制作计划/网奇seo赚钱培训
  • 怎么用ps做网站ui/上海优化公司有哪些
  • 免费空间有哪些/徐州网站建设方案优化
  • 优秀专题网站/阿里巴巴国际贸易网站
  • 品牌建站/旺道seo优化
  • flink查看taskManager日志
  • 智慧城市多目标追踪精度↑32%:陌讯动态融合算法实战解析
  • 英语听力口语词汇-8.美食类
  • 二叉搜索树(Binary Search Tree)详解与java实现
  • 【MySQL】深入浅出事务:保证数据一致性的核心武器
  • FPGA Verilog 入门语法指南