首页 > 系统相关 >Linux & 标准C语言学习 <DAY3>

Linux & 标准C语言学习 <DAY3>

时间:2023-03-06 09:34:28浏览次数:40  
标签:文件 头文件 函数 代码 C语言 学习 Linux 预处理

C语言简介:     BCPL->New B->C->UNIX->Minix->Linux->gcc     C语言诞生于1971~1973年,美国贝尔实验室,肯.汤普逊和丹尼斯.里奇     C语言是专门为了编写操作系统而诞生的语言,天生适合对硬件编程,以运行速度快而著称,而且C语言非常适合编写数据结构和算法     因为C语言出现时间太早,所以有很多缺陷,因为没有想到普通人也可以编程,但是很多前辈总结避免这些缺陷或陷阱的经验     《C语言三剑客》-》《C陷阱与缺陷》《C与指针》     《C程序设计语言》
    C语言的语法非常自由,自由意味着危险,自由源于自律
    C89语法标准,旧的系统中的默认标准     C99语法标准,对C语言的扩展和增强 -std=gnu99     C11语法标准,全新的升级
C语言第一个程序:     #include <stdio.h>     程序员所编写的代码都不是标准的C代码,需要一段程序翻译成标准C代码,负责翻译的程序叫做预处理器,翻译的过程叫做预处理,被翻译的语句叫做预处理指令,以#开头的语句都是预处理指令         #include 的功能是把一个头文件导入(拷贝)到当前位置             #include <xxx.h>                 从系统指定的路径下查找并加载头文件             #include "xxx.h"                 先从当前工作路径查找,如果找不到再从系统指定的路径查找并加载     stdio.h         头文件:以.h结尾,里面存储的是一些辅助性的代码,绝大多数都是函数的声明         源文件:以.c结尾,里面存储的是实际的功能性的代码         C语言标准委员会为C语言以函数形式提供的一些基础功能,这些函数都被封装在libc.so         然后通过很多的头文件对不同功能的标准库函数进行了说明,stdio.h就是其中之一,常用:stdlib.h string.h
    int main()         C语言中函数是管理代码的最小单位,一个函数就是一个功能的实现         main函数是程序的入口,有且只有一个         int 是一种数据类型,表示main函数的执行结果是一个整数值         return 的作用:             1、返回一个执行结果给函数的调用者                 正数    出现异常(别人导致)                 0       一切正常                 负数    出现错误(自己导致)             2、提前结束函数                 main函数遇到return语句程序结束         main函数是由操作系统调用,所以它的返回值给了操作系统,反应了程序是如何结束的     {         printf("Hello World!\n");         return 0;     }     printf/scanf 是标准库的输出输入函数,一般用于调试代码         printf("---------\n");         xxxx         printf("---------\n");     转义字符:键盘上有一些不好直接表示的符号,通过一些特殊字符搭配来表示,这种字符搭配称为转移字符         \n  换行         \t  制表符,Tab键         \a  铃响         \b  光标后退一个字符             printf("\b \b") 退格效果         \r  光标回到行首         %%  显示一个%         \\  显示一个\     注意:C语言是以分号作为一行代码的结束标志,使用大括号来划分代码     注意:必须使用英文输入法
编译器:     负责把人能看得懂的文本文件,翻译成计算机能看得懂的二进制文件,由预处理器、编译器、链接器组成     gcc编译器是GNU社区为了编译Linux内核代码而开发一款免费的编译器,默认语法标准是C99或者C89     常用的编译参数:         -E      只显示预处理的结果         -S      生成汇编文件         -c      只编译不链接         -o      指定编译结果的名字         -I      指定头文件的加载路径 -I path         -l      指定要使用的代码库 -lm导入数学库         -Wall   尽可能多地产生警告信息         -Werror 把警告当错误处理         -std    设置编译语法标准 -std=gnu89/99
C代码如何从源文件变成可执行文件的过程:     1、预处理:把源文件翻译成预处理文件         gcc -E xxx.c    显示预处理结果到终端         gcc -E xxx.c -o xxx.i 把预处理的结果存储到xxx.i预处理文件中     2、编译: 把预处理文件翻译成汇编文件         gcc -S xxx.i    生成以.s结尾的汇编文件     3、汇编: 把汇编文件翻译成二进制的目标文件         gcc -c xxx.s    生成以.o结尾的目标文件     4、链接: 把若干个目标文件合并成一个可执行文件         gcc a.o b.o c.o ... 生成a.out可执行文件
C语言中的文件类型:     .c  源文件     .h  头文件     .h.gch  头文件的编译结果文件,会被优先使用     .i  预处理文件     .s  汇编文件     .o  目标文件     .so 共享库文件     .a  静态库文件

标签:文件,头文件,函数,代码,C语言,学习,Linux,预处理
From: https://www.cnblogs.com/phony/p/17182642.html

相关文章

  • Linux & 标准C语言学习 <DAY2>
    vim文本编辑器:  可以直接在终端下采用纯键盘操作的一款文本编辑器,号称编辑器之神,可以二次升级、可以扩展  基础用法:    1、进入vim:      ......
  • Linux & 标准C语言学习 <DAY5>
    一、if分支语句  if(表达式) //单分支语句  {     //表达式的值为真,则执行此处代码  }  if(表达式) //双分支语句  {   ......
  • Linux & 标准C语言学习 <DAY4>
    一、数据类型  为什么要对数据进行分类    1、现实中的数据就是自带类别属性的    2、对数据进行分类可以节约内存存储空间、提高运行速度  ......
  • Linux & 标准C语言学习 <DAY6>
    一、数组  什么是数组:变量的组合,是一种批量定义相同类型变量的方式  定义: 类型名数组名[数量];      intarr[5];      注意:数组......
  • linux 启动oracle
    1.切换oracle用户su-oracle2.查看oracle是否启动ps-ef|grepora_3.启动和关闭oraclesqlplus/assysdba--进入sqlplus界面SQL>startup--启动数据库实例SQ......
  • 数据库学习笔记
    数据库学习笔记1、基本知识与关系模型从思维的角度学习。第一讲初步认识数据库系统Table的构成和常用术语:表名、表标题、(格式)、表内容、(行/元组/记录row/tuple/r......
  • node学习笔记(四)--- 知识点归集
    1、利用node原生封装一个求文件hash的方法const{createHash}=require('crypto');const{createReadStream}=require('fs');constgetFileMd5=(filePath)=......
  • C语言数据类型笔记
    Unsigned如果一个字面量常数想要表达自己是unsigned,可以在后面加u或U255U用l或L表示long(long)*unsigned的初衷并非扩展数能表达的范围,而是为了做纯二进制运算,主要是......
  • Qt学习笔记 - 第一章 - 快速开始、信号与槽
    Qt学习笔记全系列传送门:【本章】Qt学习笔记-第一章-快速开始、信号与槽Qt学习笔记-第二章-添加图片、布局、界面切换目录1、Qt工程创建2、工程文件......
  • salesforce零基础学习(一百二十六) Picklist Value Set 优缺点和使用探讨
    本篇参考:https://help.salesforce.com/s/articleView?id=sf.fields_creating_global_picklists.htm&type=5当我们创建Picklist字段时,比如很多表很多字段都会用到同样的p......