实验:gcc编译器的使用与编程环境.doc
文本预览下载声明
实验:编译器使用与make
1、实验目的
(1)掌握gcc和g++的用法;
(2)了解目标代码、库函数(3)掌握静态库和共享库的构造与使用;
(4)掌握多模块和多语言联合开发方法(5)掌握make命令和Makefile文件的使用。
2、实现设备
一台装有Windows操作系统和Linux机系统的微机或服务器。
实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。要按通常实验要认真书写实验报告。C语言版helloworld.c
#include stdio.h
main() {
printf(Hello C World!\n);
} 编译及运行方法:(注意观察各编译参数的意义及作用,最后通过命令ls –l a.out hello*来观察所生成文件的不同,为什么会这样?)
cc –c hello.c #生成目标文件hello.o
cc –S hello.c #生成汇编程序hello.s
cc hello.c #生成可执行程序a.out
cc –o hello hello.c #生成可执行程序hello
cc –s –o hello_s hello.c #生成汇编程序hello.s
cc –o hello_st hello.c -static #生成可执行程序hello_st
cc –o hello_sh hello.c -shared #生成可执行程序hello_sh
cc –o hello_rd hello.c -rdynamic #生成可执行程序hello_rd
(2)C++版helloworld.C#include iostream
using namespace std;
main() {
coutHello, C++ World! endl;
} 可以像使用gcc一样,使用c++或g++来编译它:
g++ hello.C #生成可执行程序a.out
c++ –o hello hell.C #生成可执行程序hello
g++ –s -o Hello hello.C #生成删除符号表的可执行程序Hello
也可以使用gcc并指定库文件来编译c++程序:
gcc –c hello.C #生成目标文件hello.o
gcc –o h hello.C –lstdc++ #指定标准c++库,生成可执行程序h
public class HelloWorld {
public static void main(String argv[]) {
System.out.println(Hello JAVA World!);
}
} 编译与执行方法:
①在没有安装JDK的情况下,可使用gcc-java软件包中的gcj编译,使用gij执行,方法如下
gcj -C -classpath /usr/share/java/libgcj*.jar HelloWorld.java # 生成字节码
HelloWorld # 执行
②在已经安装JDK的情况下,可以使用javac编译,用java执行,方法如下
javac HelloWorld.java # 生成字节码HelloWorld # 执行
说明:可以从Linux/Unix系统的发布资源库中安装JDK,也可以从Oracle的官方网站上下载并安装JDK,但要选择合适的版本。若使用前者,方法如下:
yum install openjdk
(3) PHP版的Helloworld程序
设有PHP脚本程序helloworld.php内容如下:
html
title/ Hello PHP World! /title
body/
p align=center
font size=10 color=blueMy Apache Server is Running!br /font
?php
echo font size=20 color=redI am from PHP !br /font;
?
/p
/body
/html 可在Linux下按如下方法“执行“它:
① 安装httpd服务器(若已经安装,则不再做)
yum install httpd
② 启动httpd服务器(若已经启动,则不再做)
service httpd restart # Fedors 15 以前版本,比如Fedora/Linux
systemctl restart httpd.service
③ 在浏览器地址栏输入: http://ip/helloworld.php
2) 多模块组合开发与编译、静态库的构造与使用
仅以C语言为例说明之。设f1.c、f2.c和f3.c,内
显示全部