凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 361449
  • 博文数量: 78
  • 博客积分: 3274
  • 博客等级: 中校
  • 技术积分: 686
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-06 12:47
文章分类

(78)

  • (2)
  • (8)
  • (0)
  • (2)
  • (1)
  • (4)
  • (2)
  • (7)
  • (31)
  • (21)
文章存档

(1)

(2)

(2)

(1)

(5)

(22)

(8)

(31)

(6)

我的朋友
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: solaris

2016-11-22 15:29:22

zz:简明教程:如何在solaris操作系统上开发c 应用程序 -凯发app官方网站

from: http://blog.csdn.net/sunboy_2050/article/details/6323825

1,开发c程序的必要工具和设置

a,solaris下的开发工具

在solaris下开发c应用程序,缺省开发环境是sun studio。目前sun studio 11是sun公司最新的c/c /fortran开发工具,这个工具已经安装在unix体验中心的服务器上,我们可以直接使用。在sun studio 中,其中c程序的编译工具名称为cc。还有的就是make这个命令,make命令是solaris安装后就自带了,不需要我们另外安装。

b,设置环境变量

在solaris下开发c应用程序,需要把编译器和make的路径加入到环境变量path中去,一般来说,可以使用export命令来进行这个方面的设置。假设您使用的shell为bourne shell,sun studio 11的安装目录为/opt/sunstudio_11/sunwspro,make通常安装在/usr/ccs/bin目录下,则可以使用如下命令进行设置:

# path=/opt/sunstudio_11/sunwspro/bin:/usr/ccs/bin:$path
# export path

(需要说明的是,在unix体验中心的服务器上,这个环境变量已经提前设置好,并不需要用户自行设置。)

2, 开发只有一个文件的简单程序

如果你的c应用程序只包含一个源程序文件,则编译时不需要用makefile,下面以一个简单的hello world程序来做为例子,比如我们有个简单的c程序hello.c,其内容见下:

#include

int main()
{
      printf(”hello world/n”);
}

在编译这个程序的时候,可以采用如下两种方法,

# cc -o hello hello.c

或者:

# make hello

这两种方法都可以直接生成应用程序hello,前一种方法是直接用编译命令cc来生成目标代码。后一种方式要是用make来生成目标代码,这种方法仅适用于编译一个源文件,注意make后边的参数应该是c源程序的文件名的. 前面的部分,即hello。

3,开发含有多个文件的c应用程序

如果我们有多个源文件的时候,比如有一个是主程序,另一个具体的函数实现,外加一个头文件,这里还是用hello world做为例子来说明,例子中有三个源程序文件, 两个为c源文件,主程序hello.c和具体函数实现hello_f.c,一个为c头文件,分别为:

如下是源代码hello.h的内容:

void hello();

如下是源代码hello.c的内容:

#include “hello.h”

int  main()
{
    hello();
}

如下是源代码hello_f.c的内容:

#include

void  hello()
{
     printf(”hello world/n”);
}

我们可以用一个命令就将这个编译任务完成,为:

# cc -o hello hello.c hello_f.c

但在系统中,我们会发现这个命令会产生三个文件,hello,hello.o和hello_f.o,那么这三个文件是如何产生出来的,整个编译过程是如何呢?为了简化起见,我们用以下的三个命令来说明产生这些文件的过程,大概的步骤为:

# cc -c hello.c
# cc -c hello_f.c
# ld -o hello -lc hello.o hello_f.o

4,使用makefile来开发一个工程

在以上的例子中,我们是用了命令行来直接编译程序,但在实际工作中,一个项目只有一个或两个源代码文件的情况非常少,大的项目往往会有上千个源代码文件,如果我们只是用简单的命令行去编译这些文件,不但每次要写一堆的命令,容易出错,而且难于保持编译选项的一致,对于这种情况,我们会采用makefile来做相应的编译组织和管理。还是以上面的hello world为例来说明如何写出一个简单的makefile来编译程序。

我们写一个简单的makefile来编译这个简单的项目helloworld.

如下是我们的makefile的内容:

all:hello

hello: hello.o hello_f.o
cc -o hello hello.o hello_f.o
hello.o: hello.c
cc -c hello.c
hello_f.o: hello_f.c
cc -c hello_f.c
clean:
rm -f *.o hello

这只是一个非常简单的makefile,实际项目中,我们遇到的是更加复杂的makefile,关于makefile的语法以及规则,可以得到很多有帮助的教程来学习,这里就不做为重点介绍了。

makefile生成后,我们就可以用它来编译程序了,如下

# make
cc -c hello.c
cc -c hello_f.c
cc -o hello hello.o hello_f.o

从而顺利的生成了目标代码。

 

作者:sun 中国工程研究院 张文龙

 

转载声明:本文转自 




















阅读(1182) | 评论(0) | 转发(0) |
0

上一篇:

下一篇:

给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图