【2015/10/17】Linux 逻辑卷管理以及C学习日志_Day7 编译步骤,注释,mystrcpy
来源:互联网 发布:2017年做淘宝还赚钱吗 编辑:程序博客网 时间:2024/06/15 05:14
D7:
review: 如果想在开机时挂载文件需要在fstab上添加挂载设备!
LVM:(逻辑卷管理)
PV(physical volume 物理卷:来源的设备空间)
VG(volume group 由PE组成的空间)
LV(logical volume真实使用的由VG分配的空间)
创建LVM:
1.fdisk n 出空间
2.fdisk t 修改Hex code (输入L显示所有code) LVM 的code是8e
3.partprobe 重载分区
4.pvcreate </dev/.. (设备路径)>
5.pvdisplay : 显示pv的信息
6.vgcreate -s <16M : PE大小> <vg0 : 卷组名> <设备名 : /dev/..>
7.vgdisplay
8.lvcreate -L <大小 : 1G> -n <lv0 : 设备名> <vg0 : 分配的卷组名>
9.lvdisplay
10.mkfs.xfs </dev/vg0/lv0 : 设备名>
可执行的操作 lvextemd -L <扩展后的空间 : 2G> <设备名 : /dev/vg0/lv0>
要进行刷新才识别到新的 xfs_growfs <设备名>
C语言开始:
file <文件> : 查看文件类型
echo $? 显示上一次操作的返回值
vim 编辑器
gcc 编译器
编译步骤:
总和步骤: gcc hello.c -o hello
1.预处理 gcc -E <源码文件 *.c> -o <*.i> 对头文件的全部展开(包括各种拓扑关系) 同时进行宏定义以及擦除注释
2.编译 gcc -S <预处理文件 *.i> -o <*.s> 汇编代码
3.汇编 gcc -c <汇编代码文件 *.s> -o <*.o> 二进制代码可以与别的二进制代码进行重定向 (file中信息有 relocatable : 可重定向的)
4.链接 gcc <汇编二进制代码 *.o> -o <可执行文件名>
linux下ELF是指二进制文件
函数类型:
1.可变参函数
2.递归函数
3.泛型编程
review: 如果想在开机时挂载文件需要在fstab上添加挂载设备!
LVM:(逻辑卷管理)
PV(physical volume 物理卷:来源的设备空间)
VG(volume group 由PE组成的空间)
LV(logical volume真实使用的由VG分配的空间)
创建LVM:
1.fdisk n 出空间
2.fdisk t 修改Hex code (输入L显示所有code) LVM 的code是8e
3.partprobe 重载分区
4.pvcreate </dev/.. (设备路径)>
5.pvdisplay : 显示pv的信息
6.vgcreate -s <16M : PE大小> <vg0 : 卷组名> <设备名 : /dev/..>
7.vgdisplay
8.lvcreate -L <大小 : 1G> -n <lv0 : 设备名> <vg0 : 分配的卷组名>
9.lvdisplay
10.mkfs.xfs </dev/vg0/lv0 : 设备名>
可执行的操作 lvextemd -L <扩展后的空间 : 2G> <设备名 : /dev/vg0/lv0>
要进行刷新才识别到新的 xfs_growfs <设备名>
C语言开始:
file <文件> : 查看文件类型
echo $? 显示上一次操作的返回值
vim 编辑器
gcc 编译器
编译步骤:
总和步骤: gcc hello.c -o hello
1.预处理 gcc -E <源码文件 *.c> -o <*.i> 对头文件的全部展开(包括各种拓扑关系) 同时进行宏定义以及擦除注释
2.编译 gcc -S <预处理文件 *.i> -o <*.s> 汇编代码
3.汇编 gcc -c <汇编代码文件 *.s> -o <*.o> 二进制代码可以与别的二进制代码进行重定向 (file中信息有 relocatable : 可重定向的)
4.链接 gcc <汇编二进制代码 *.o> -o <可执行文件名>
linux下ELF是指二进制文件
函数类型:
1.可变参函数
2.递归函数
3.泛型编程
推荐书籍:《C语言接口与实现》
上课内容:
/************************************************************************* > File Name: class.c > Author: khalil > Mail: hsgwpj@gmail.com > Created Time: Sat 17 Oct 2015 02:36:53 PM CST ************************************************************************/#if 1#include<stdio.h>#include<string.h>#include<stdlib.h>char * my_strcpy(char *dest_str,const char * src_str);char *my_strncpy(char *dest_str,const char * src_str,size_t n);int main(int argc , char ** argv){char *str = "hello,world!~~~~~";char str2[100] = {0};char str3[100] = {0};char str4[100] = {0};//把字符串str的内容拷贝到str2//strcpy(str2,str);//my_strcpy(str2,str);my_strncpy(str3,str,50);//printf("%s\n",str2);//printf("%s\n",str3);printf("%d\n",strlen(str3));//my_strncpy(str4,str,3);//printf("%s\n",str4);return 0;}char * my_strcpy(char *dest_str,const char * src_str){//1.检测传入参数//2.实现拷贝//3.返回dest地址////不建议对传入的指针参数直接进行使用char* dest = dest_str; const char* src = src_str;if (dest_str == NULL || src_str == NULL || dest_str == src_str){return dest_str;}while((*dest++ = *src++) != '\0'){}return dest_str;}char *my_strncpy(char *dest_str,const char * src_str,size_t n){char * dest = dest_str;const char * src = src_str;size_t i = 0;if (dest_str == NULL || src_str == NULL || dest_str == src_str){return dest_str;}for ( ; (i < n)&&(*src) ; i++){*dest++ = *src++;}for( ; i < n ;){*dest++ = '\0';}return dest_str;}#endif #if 0int main (int argc , char ** argv){int i = 0 ;//操作符两边用空格隔开int a = 10 , b = 20 ;//不建议,每行只对一个变量赋值//要注意缩进return 0 ;}#endif #if 0//注释的三种方式://1.单行注释 ////2. 块注释 /**///3.条件注释//#if (1|0)//#endif////关键字(系统可以识别的,系统自带的)和标识符(用户创建的名字)//Tip: C语言中有32个关键字!////1.标识符由数字字母下划线组成,必须以字母下划线开始//2.常见的命名规范://(1):int ListNode;//Win ver//int List_node;//Linux ver -推荐使用!//(2):要求:见名识义// (3):用最少的字母表示出最大的含义!//#endif#if 0//*.c实现功能的文件 //在/usr/lib中存在它的编译后代码 //*.o是静态库 *.so是动态库 //一般情况下 使用者只能获得.c编译后的文件////*.h功能说明文件////linux内核////1.编程规范////字符串要注意特殊字符,以及他们strlen中的长度//要注意/的转义作用//#include<stdio.h>#include<string.h>//可以通过 man <函数名> 来查看它的头文件int main(int argc , char ** argv){char string[] = {"hello,world!"};printf("%d",strlen(string));printf(string);return 0;}#endif#if 0#include<stdio.h>//提高程序的局部性int main(int argc , char **argv){int array[] = {12,123,213,213,21,3,213,21,312,3};int arr_len = sizeof(array) / sizeof (array[0]);//不要在循环语句中进行计算 会降低程序的效率int i = 0;for (i = 0 ; i < arr_len ; ++i){printf("%d\n",array[i]);}return 0 ;}#endif #if 0#include<stdio.h>int main(int argc , char ** argv){int flag ;scanf("%d" , & flag);if (flag == 0){printf("---Hello , World!---\n");return 0;}else{printf("---Nope! You're wrong!---\n");return 1;}}#endif
0 0
- 【2015/10/17】Linux 逻辑卷管理以及C学习日志_Day7 编译步骤,注释,mystrcpy
- linux逻辑卷管理
- linux 逻辑卷管理
- Linux逻辑卷管理
- Linux操作系统逻辑盘卷管理LVM创建步骤
- LINUX下逻辑卷管理
- linux逻辑卷管理 (LVM)
- Linux系统逻辑卷管理
- Linux管理逻辑卷LVM
- LINUX逻辑卷lvm管理
- Linux命令--逻辑卷管理
- Linux LVM逻辑卷管理
- Linux系统逻辑卷管理
- Linux系统逻辑卷管理
- Linux学习之:创建逻辑卷管理(LVM)
- Linux(RedHat)学习之路6.0之逻辑卷管理
- Linux逻辑盘卷管理LVM详解
- Linux逻辑盘卷管理LVM详解
- Tiled地图文件分析
- 安装 Kali Linux 后需要做的 20 件事
- 堆与栈的区别
- 数据库多表连接问题
- C语言 基础篇 printf
- 【2015/10/17】Linux 逻辑卷管理以及C学习日志_Day7 编译步骤,注释,mystrcpy
- Kali-linux安装之后的简单设置
- CSS控制元素的尺寸
- 玩转渗透神器Kali:Kali Linux作为主系统使用的正确姿势TIPS
- 【笔试面试】美团网-2016年校招-机器学习和数据挖掘
- 【Javascript】实现字符串的replaceAll方法
- ALM使用心得
- Fragment使用详细
- Centos7下nginx源码安装