[linux]LINUX程序设计cc1--入门
来源:互联网 发布:c语言a两个中括号 编辑:程序博客网 时间:2024/05/17 03:07
在学操作系统和网络时穿插着学过一点LINUX.今天开始系统的从头开始学习一下,教材是《Linxu程序设计》和《Unix环境高级编程》。
第一天:
UNIX系统:一种遵循特定规范的计算机系统,定义了所有必需的系统函数的名称、接口、行为。
Linux:一个自由发布的类Unix内核实现,是一个操作系统的底层核心。
GNU(GUN'S NOT UNIX)的GPL:自由软件及其通用许可证。(视为一种与不自由的Unix的抗议,copyleft:copyright的对立)
发行版:包含内核及很多GNU工具
文本工具:emacs,vim,gedit都是很实用的编辑器
编译器:一般自带gcc,复习下使用命令:gcc -o hello hello.c,当前目录下就生成了可执行的hello文件了:./hello
实践:创建一个小型函数库
1.工具函数:bill.c,fred.c
gcc -c bil.c fred.c//执行后从源文件编译到bill.o,fred.o目标文件
2.接口头文件申明函数:lib.h
3.调用文件:program.c
gcc -c program.c
gcc -o program program.o bil.o//链接成可执行文件
4.创建并使用一个库文件
ar crv libfoo.a bill.o fred.o//ar工具将若干单独文件归并到一个大的文件中(lib*.a为静态库命名)libfoo.a
gcc -o program1 program.o libfoo.a//可以用自己的库文件来链接了
或者 gcc -o program program.o -L. -lfoo//-L选项指定搜索目录,-lfoo(指定库的名字,lfoo:libfoo的简写)
总结:调用文件program.c 中 include 库头文件
链接时 program.o 和 库文件的归并文件 libfoo.a
分离了用户代码,头文件,库(.a)。
问题:静态库被多个程序调用时会在内存出现多个副本。
共享库:程序本身不在包含函数代码,而是引用可访问的共享代码。只有在必要时,才被加载到内存中。
- [linux]LINUX程序设计cc1--入门
- Linux 程序设计入门
- Linux程序设计入门--基础知识
- Linux程序设计入门
- Linux程序设计入门--基础知识
- Linux程序设计:入门
- Linux程序设计读书笔记------入门
- Linux 程序设计入门
- 1.Linux 程序设计入门
- 1)Linux程序设计入门--基础知识
- Linux程序设计入门--网络编程
- Linux程序设计入门--线程操作
- Linux程序设计入门--消息管理
- Linux程序设计入门--信号处理
- Linux程序设计入门--文件操作
- Linux程序设计入门--文件操作
- Linux程序设计入门--进程介绍
- Linux程序设计入门--进程介绍
- 基于NIOS-II的示波器:PART4 系统调试&测试
- Kotlin语法(一)
- 百钱百鸡问题
- nginx限制某个IP同一时间段的访问次数
- Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(2)使用mod_proxy
- [linux]LINUX程序设计cc1--入门
- 《重构改善既有代码的设计》——代码的坏味道
- 差分约束题目
- Zjnu Stadium HDU
- spring_使用占位符连接数据库_PropertyPlaceholderConfigurer_DataSource配置创建获取
- c# 运算符 判断语句if-else、循环语句while ,do -while
- 中国各城市GDP水分多大?这对买房很有影响
- iOS攻防
- 基于fetch cors + shiro 跨域解决方案