导航:首页 > 源码编译 > cygwin编译fortran

cygwin编译fortran

发布时间:2023-10-07 16:12:11

㈠ 源代码到可执行 文件之间的转换用到的 编译器如gcc、汇编器、连接器等是怎么集成到IDE环境中的

在VisualC 2005中,如何调用其它编译器编译cpp文件呢?换句话说,如何把其它编译器集成到VC2005的IDE中呢?

象ICC这样的编译器安装之后会自动集成进来,要集成其他编译器那还得自己动手。下面介绍一种简单、浅层的“集成”方法。

你也许注意到了,在VC2005的IDE中是不能编译单个.cpp文件的,除非把它放在工程中。但是,我们可以通过调用外部工具实现编译单文件。

下面以调用G 为例说明如何编译单个.cpp文件。如果要编译单个.c文件,使用GCC即可,方法同理。

也许你现在还不知道G 。G 是GCC中的一员。GCC的含义是GNU编译器集合(GNUCompilerCollection),包括C、C 、Objective-C、Fortran、Java、Ada连同与这些语言相配的库等。GCC被誉为“世界上最重要的软件”。许多免费的编译器都是GCC的移植版—MinGW(MinimalistGNUforWindows)中携带的编译器就是如此。

以MinGW为例,我们可以下载DevC ,DevC 目前最新版为4.9.9.2。安装DevC 的同时就安装了MinGW,其中包含了G 3.4.2.

假设DevC 安装在D:\Dev-Cpp目录下。

下面我们在VC2005的菜单点击“工具(Tools)->外部工具(ExternalTools)->添加(Add)”。

分别填入:

标题(Title):GNUC Compiler

命令(Command):D:\Dev-Cpp\bin\g .exe

参数(Arguments):-Wall-o$(ItemFileName)$(ItemFileName)$(ItemExt)-time

初始目录(Initialdirectory):$(ItemDir)

再钩选下面的"使用输出窗口(UseOutputwindow)".

说明:如果你已经把D:\Dev-Cpp\bin\目录添加到系统环境变量中,那么Command指定为g .exe即可。Cygwin同理。

这些参数只是一个参考。你可以查阅VC编译器的宏设置你需要的参数。

干脆顺带补充一下DigitalMarsC 编译器的参考参数设置:

标题(Title):DigitalMars

命令(Command):C:\dm\bin\dmc.exe

参数(Arguments):$(ItemFileName)$(ItemFileName)$(ItemExt)

初始目录(Initialdirectory):$(ItemDir)

好,下面切换到main函数所在文件,点击工具(Tools)菜单下的“GNUC Compiler”开始编译。

注意g 此时编译的指是纯C 程序,对于包含int_tmain(intargc,_TCHAR*argv[])这类VC特有的C 程序自然是无法通过编译的。

如果编译没有出错,对于早期版本的g 而言,Outputwindow是没有任何输出的。

而对于较新版本的g ,将输出类似以下的信息:

#cc1plus0.670.22
#as0.050.01
#collect20.360.19

这是-time报告的编译过程中每个子过程所占用的CPU时间。

当然,你还可以更改编译参数,使输出窗口输出其他编译信息。

我们还可以通过添加外部工具来实现运行g 生成的程序的功能。步骤如下:

在VC2005的菜单点击“工具(Tools)->外部工具(ExternalTools)->添加(Add)”。

分别填入:

标题(Title):RunasC Application

命令(Command):%systemroot%\system32\cmd.exe

参数(Arguments):/c$(ItemFileName).exe

初始目录(Initialdirectory):$(ItemDir)

不要钩选下面的“使用输出窗口”和“退出时关闭”。

注意:cpp文件必须放在工程中,g 生成的程序才能被运行!

用MinGW的g 编译出的程序可以在没有安装MinGW的Windows系统上运行!

但是在Cygwin/gcc下编译出来的程序,在windows执行必须依赖cygwin1.dll。

通过VC2005创建不带预编译头的Win32控制台应用程序空环境,这样编译出来的可执行文件也不是放在哪台机子都能跑的。但是常规空环境可以做到。

下面讲讲如何设置快捷键。

点击菜单中的"工具->自定义",

点击右下角的"键盘",

点击"按快捷键"下面的文本框,

按下Shift Ctrl F7,如果这个快捷键已经分配给了其他的命令,更换一个即可。

㈡ cygwin下编译,调试C源程序

你是初学者吧,没关系,很简单的。
cygwin我没用过,大概是别人给套了个可视化编程界面了。
1.你运行cygwin这个软件,然后“文件/打开/”把你准备好的C源代码加载到这个软件中。(就好比我们平时用word时,先运行word软件,然后把你的文档加如入并进行编辑。)
2.在软件界面上(一般在:工具栏)找一个功能为“运行”的按纽。

准备知识:
写一个程序一般分以下步骤:
1.编辑(就是把你的源代码写出来,你可以用“记事本”写,当然一般编程工具cygwin也会提供编辑环境)
2.编译+连接(你只要点个按纽就行,这个任务完全由cygwin完成,你不必管它怎么完成这个任务的。
==============================
那么,编译是什么意思呢?
==============
由于你是初学者,我只能用尽可能通俗的话给你解释一下,这种解释是不够准确的。因为计算机本身只认识二进制指令,就是0/1的序列,每个0/1的序列都在计算机设计时,就赋予了一定的含义。比如:设计师可以把0001表示作个加法,用0000表示作个减法。但是如果人们用0/1的序列来表达我们的需求,显然非常麻烦。于是,后来一些科学家就发明了一种近似英语的计算机语言C,很明显如果要让计算机也明白C表达的意思,我们就必须把C翻译成0/1的序列。那么,编译就可以理解为“翻译”。
[打个比方1]这就好比,你是个中国人,你只会说中文,计算机是个美国人,它只会说英语。你要请计算机给你做件事,你可以用中文写好你的要求,然后请个翻译,把你的要求翻译成英语。)
======
调试是什么呢?
=====
调试分两个层面:(沿用上面的比方1)
1.语法层
你用中文表达你的要求时,可能你的用语不够规范,或写了错别字,使得你
请的翻译不理解你的意思,没办法翻译下去。这时,这个翻译就会通知你说:“对不起,你这个字是不是写错了”。于是,你就“调整调整,修改修改,才试一试”(“调试”由此得名),然后才请翻译进行翻译。
2.语意层
由于你的疏忽,你把要求表达错了。举个离谱点的例子:你本意是打算请计算机帮你买张去北京的火车票的,结果你不小心,写成了买张去上海的火车票。出现这个错误,翻译没方法告诉你,只有等计算机把一张上海的车票给你,你才意识到,于是你重新调试,才执行。

㈢ c++编译器的分类

Cygwin
Mingw32
DJGPP
Dev-C++(Mingw32)
还有正宗的GNU GCC 2.95.5~3.0.0.4版本
GNU C++
g++是一个开源的C++编译器,GCC3.3对标准化C++的支持达96.15%。
值得一提的是,gcc是gnu c的编译器, g++是gnu c++的编译器, 而egcs(Enhanced GNU Compiler Suite)可以认为是gcc的改进版。目前gcc已经改名,从原来代表GNU C Compiler改变为代表GNU Compiler Collection。而MinGW或Cgywin,是在windows平台上的gnu c/c++编译器,以及库文件,运行环境的集合。
在GCC家族中GNU GCC是根本,其它的编译器版本都是从它导出的。其中,Cygwin和Mingw32都是WIN32平台下的编译器,DJGPP是DOS下的32位编译器。大家所熟知的DEV-C++充其量只是GCC的一个外壳,它所自带的编译器就是Mingw32的一个版本。这些GCC的版本中,Cygwin是最大的,它与其说是一个编译器,倒不如说是一套编程工具。它不仅有编译器,还有其它很多的工具。其实,它就是一个UNIX系统在WIN32平台上的实现。实现了大多常用的UNIX工具,最近的版本中连Apache这样的“工具”都集成进来的。不过,Cygwin虽然功能强大,但它却不是很易用(和UNIX相似,熟悉UNIX的人用它可以很快上手),因为太多其它的工具分散了人们的注意力。相比之下Mingw32就要好用得多,它只有最基本的几个编程工具(只可惜它不自带GDB)。GCC中并不只是C/C++编译器,其中还有很多其它的编译器如JAVA,Fortran,ADA等。它是一个编译器集合,不过有些编译器只能在UNIX系统上用。 MSC 5.0、6.0、7.0
MSQC 1.0、2.5
MSVC 1.0、4.2、6.0、7.0
Visual C++
VC++6.0对标准化C++的兼容仅达83.43%。
它是Visual Studio、Visual Studio.net 2002、Visual Studio.net 2003、Visual Studio.net 2005的后台C++编译器。随着Stanley Lippman等编译器设计大师的加盟,它变得非常成熟可靠了。Visual C++ 7.1对标准C++的兼容性达到98.22%。 TC 1.0、2.0
TC++ 1.01、3.0
BC 3.0、3.1、4.0、4.5、5.0、5.02
BCB 3.0、5.0、6.0
Borland C++
该编译以速度快、空间效率高而着称。它的5.5版本对标准化C++的支持达92.73%,而官方称100%符合ANSI/ISO的C++标准和C99标准。
它是Borland公司开发的,是Borland C++ Builder和Borland C++ Builder X这两种IDE的后台编译器。 Intel C/C++ 5.0
Watcom C/C++ 11.0、11.0c
VectorC 1.3.3
IBM VisualAge for C++
DigitalMars C/C++
KAI C/C++ 4.03f for RedHat 7.2
Lcc4.1
LCC-WIN32 2001-09-25~2002-04-28日版
Small C
CC386
Pacific C
Intel C/C++大家一看名称就知道是Intel的东西,它和VC6完全兼容,不过要挂在VC6下才能用。Watcom C/C++是早先编译器四国大战中的一员,原本是很不错的东西,可惜战略不对,现在已不见声息了。倒是以它为基础的一个OpenWatcom现在还在奋战。VectorC是我近日才发现的一个好东东,它是个纯C的编译器。IBM的VisualAge for C++原本是IBM想用来淌C++编译器这片浑水的东西,不过IBM的战略改了,它就被放弃了。DigitalMars C/C++的前身的Symantec C++(它也是编译器四国大战中的一员),不过现在Symantec不做了,于是它的作者就把它改成了DigitalMars C/C++开放给大家使用。以上这些都是WIN32平台上的东西。KAI C/C++是个很强大的C/C++编译器,它是个多平台的编译器。不过现在被INTEL收购了,已经停止开发了。Lcc4.1是个纯C的编译器它是开放源代码的。不过不怎么好用。LCC-WIN32是一个在LCC基础上开发的C语言的集成开发环境,很好用,而且有很详细的资料,FREE!Pacific C是一个纯DOS的C的集成开发环境,就不多说了。Small C CC386都是开放源代码的编译器,它们都很简单,应用来给大家学习编译器的。 Quincy
Eic
CINT
Quincy Eic CINT都是C的解释器,是用来让大家学习C语言的其中CINT的功能很强大,还支持一些C++的特性。

阅读全文

与cygwin编译fortran相关的资料

热点内容
村委会主任可以推行政命令吗 浏览:100
电脑文件夹封面多张图片 浏览:261
网吧总服务器叫什么 浏览:920
多个算法解决同一个问题 浏览:453
小车解压后我的购车发票呢 浏览:975
做app开发用什么云服务器 浏览:175
linux网卡子接口 浏览:983
21岁职高毕业学程序员怎么学 浏览:319
vs如何对单个文件编译 浏览:4
为什么有的电脑不能安装python 浏览:73
金蝶迷你版加密狗检测到过期 浏览:184
硬件描述语言编译结果 浏览:655
程序员逆天改命 浏览:19
金斗云服务器 浏览:445
港口工程pdf 浏览:770
程序设计语言pdf 浏览:432
蔬菜价格上涨算法 浏览:221
nfs是什么服务器 浏览:823
单榀框架柱子要加密吗 浏览:350
当标识符在该条件编译结构前 浏览:584