《操作系统原理》课程教学资源(PPT课件讲稿)Linux程序设计简介

Linux程序设计简介
Linux程序设计简介

Linux程序设计 ◆ Linux中的C程序设计 ◆ Linux中的汇编语言 ◆Shel程序设计 ◆开发工具、调试、perl, python,Tc,X
Linux程序设计 Linux中的C程序设计 Linux中的汇编语言 Shell程序设计 开发工具、调试、perl, python, Tcl, X…

Linux中的C程序设计 ◆ Linux内核的主体是以GNU的C语言编写 的。GNU中的CC++语言编译工具是gc GNU对C语言本身(在 ANSI C基础上)作 了不少扩充
Linux中的C程序设计 Linux内核的主体是以GNU的C语言编写 的。GNU中的C/C++语言编译工具是gcc。 GNU对C语言本身(在ANSI C基础上)作 了不少扩充

GNUC的扩充 ◆吸收了C++中的nlne和 const ◆为了支持64位CPU,增加了新的基本数 据类型 long long int ◆许多C语言支持属性描述符,如 66 aligned”,“ packed等。由于这些在 ANSI CI中不是保留字,所以可能引起冲 突。GNUC支持在前后加上“”来区分 如“ inline”等于保留字“ inline
GNU C的扩充 吸收了C++中的inline和const 为了支持64位CPU,增加了新的基本数 据类型long long int 许多C语言支持属性描述符,如 “aligned” , “ packed”等。由于这些在 ANSI C中不是保留字,所以可能引起冲 突。GNU C支持在前后加上“__”来区分。 如“__inline__”等于保留字“inline”

程序 ◆.C C语言源程序 ◆C.CC.CX C++语言源程序 ◆S,S 汇编语言源程序 头文件 ◆0 日标文件(可执行文件) ◆a.50.sa库文件
程序 .c c语言源程序 .C .cc .cxx c++语言源程序 .s .S 汇编语言源程序 .h 头文件 .o 目标文件(可执行文件) .a .so .sa 库文件

hello. c ◆ int maind0 printf( hello world! n) ◆gcc- o hello hello.c ◆helo ◆如果没有-0选项,则输出为a.out ◆系统程序一般在/Us下和/usr/lca下
hello.c int main() { printf(“hello world!\n”); } gcc -o hello hello.c ./hello 如果没有-o选项,则输出为a.out 系统程序一般在/usr下和/usr/local下

头文件 ◆头文件提供对常数的定义和对系统及库 函数调用的声明 下级目录下,如 usr/include冬 ◆C语言的头文件一般在/ usr/include usr/include/inux子目录中。 ◆使用gcc-I“目录”来引用保存在非标 准位置的头文件。 ◆如gcc-/usr/ openwin/ include fred c
头文件 头文件提供对常数的定义和对系统及库 函数调用的声明。 C语言的头文件一般在/usr/include及其 下级目录下,如/usr/include/sys和 /usr/include/linux子目录中。 使用 gcc –I “目录” 来引用保存在非标 准位置的头文件。 如 gcc -I /usr/openwin/include fred.c

库文件 ◆库文件是一些预先编译好的函数的集合,那些 函数都是按照可再使用的原则编写的。 ◆标准的系统库文件一般保存在/ib或者/usr/ib 下。库文件的名字启动以i打头,后面是说明 函数库情况的部分,如C表示是C语言库,m表 示是数学运算库等。文件名最后是句点开始的 部分,给出的是库文件的类型,其中 传统的静态型函数库 s0和.sa 共享型函数库
库文件 库文件是一些预先编译好的函数的集合,那些 函数都是按照可再使用的原则编写的。 标准的系统库文件一般保存在/lib或者/usr/lib 下。库文件的名字启动以lib打头,后面是说明 函数库情况的部分,如c表示是C语言库,m表 示是数学运算库等。文件名最后是句点开始的 部分,给出的是库文件的类型,其中 .a 传统的静态型函数库 .so和.sa 共享型函数库

◆例如:gcc- o fred fred c/usr/ib/ibma ◆也可以:gcc- o fred fred c-m ◆通过-L标志给编译器增加搜索子目录, tA: gCc -0 x1lfred-L/usr/openwin/lib 1fred.c-11,这条命令在编译和链接 程序x11fred时将使用在子目录 /usr/ openwin/ib中找到的ib×1函数库
例如:gcc -o fred fred.c /usr/lib/libm.a 也可以:gcc –o fred fred.c -lm 通过-L标志给编译器增加搜索子目录, 如:gcc -o x11fred –L/usr/openwin/lib x11fred.c –lX11,这条命令在编译和链接 程序x11fred时将使用在子目录 /usr/openwin/lib中找到的libX11函数库

Linux中的汇编语言 ◆汇编语言程序一般以S为扩展名。也可 以以“嵌入式”汇编的方式出现在C语言 的C程序中。 ◆ UNIX/Linux的汇编语言,采用的是AT&T 的386汇编语言。与Inte的汇编语言相比, 二者所基于的硬件知识是相同的,但是 在语法上有一定的差异
Linux中的汇编语言 汇编语言程序一般以.S为扩展名。也可 以以“嵌入式”汇编的方式出现在C语言 的.c程序中。 UNIX/Linux的汇编语言,采用的是AT&T 的386汇编语言。与Intel的汇编语言相比, 二者所基于的硬件知识是相同的,但是, 在语法上有一定的差异
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《操作系统原理》课程教学资源(PPT课件讲稿)第2章 Linux概述.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第1章 操作系统概论.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)前言.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)security protocols.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Public Key Cryptography2.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Public Key Cryptography1.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)overview.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Attacks, Services, and Mechanisms.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)NTHEORY 2 Group Theory and Number.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Lecture 3 Number Theory Basics I.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)HashFunctions.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Digital Signature.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)CRYPTO12.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-L&D.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-DES.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-AES.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Introduction(主讲:曹天杰).ppt
- 《软件工程》课程学习资料:软件工程思想(林锐).pdf
- 《C++语言基础教程》课程电子教案(PPT教学课件)第6章 类和对象(二).ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第5章 类和对象(一).ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)(英文版)Linux Development Environment.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)Linux核心体系结构简介.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第3章 进程管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第4章 Linux进程管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第4章 存储管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第6章 Linux存储管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第七章 文件管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第八章 Linux文件管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第九章 设备管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第十章 Linux设备管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第六章 作业管理.ppt
- 《操作系统原理》课程教学资源:教学大纲标准格式.doc
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)目录(崔雅娟).ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第八章 结构及其它.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第二章 数据类型、运算符与表达式.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第九章 文件.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第六章 数组.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第七章 指针.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第三章 语句及控制结构.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第四章 函数和程序结构.ppt