Linux初识(二)与C语言基础(一)
2018-01-25 15:23
471 查看
热键:双击:tab查看输入路径下包含的文件
tab:命令补全 ↑↓:上一个或者下一个输入的命令 ctrl + c :结束当前进程
Makefile :
自动编译格式:
目标
:依赖(.o文件)
条件
make clean :清除
设置清除格式:
.PHONY:
clean
rm
* 文件名
gdb工具:调试程序
gcc -g 使编译程序能够使用gdb调试
调试方式:gdb+程序名 进入gdb模式
list :列十行 break数字
:在某一行设置断点,或者设置函数名
next :一条一条语句执行 state :进入函数 return
: 从函数返回 run :从头运行
print :打印值 continue :从断点继续运行 quit
:退出gdb格式 info :查看断点信息
脚本使用基础 :
最重要的脚本为Bush 脚本后缀为.sh
写脚本:开头为#!/bin/sh
echo :输出 echo
'hello' > a 将hello写入a,为覆盖模式
echo 'hello' >>a 将hello写入a,为追加模式
$1第一个参数 $2第二个参数 $3第三个参数 $*所有参数 $0脚本名本身 $#参数个数
脚本用#注释
脚本循环结构之一:
for 参数 in $1 $2 $3 $4
do
done
判断文件类型脚本:
if [ -z $PATH ] ; then
echo "error"
exit
fi
if [ -d $PATH ] ; then
echo "DIR"
elif [ -f $PATH ] ; then
echo "FILE"
fi
读取输入字符类型脚本:
read key
case "${key}" in
[A-Z] ) echo "Upperletter";;
[a-z] ) echo "Lowerletter";;
[0-9] ) echo "Number";;
*) echo "error";;
esac
输入一大段代码的情况:
cat > $file <<EOF
代码
EOF
C语言基础(一)
sizeof 关键字的一种,求数据长度
有符号整型化为无符号整型反码加一
const修饰变量后为只读变量,不能通过变量修改内存值
volatile:防止编译时被优化
指针本身的大小由机器系统字长决定
tab:命令补全 ↑↓:上一个或者下一个输入的命令 ctrl + c :结束当前进程
Makefile :
自动编译格式:
目标
:依赖(.o文件)
条件
make clean :清除
设置清除格式:
.PHONY:
clean
rm
* 文件名
gdb工具:调试程序
gcc -g 使编译程序能够使用gdb调试
调试方式:gdb+程序名 进入gdb模式
list :列十行 break数字
:在某一行设置断点,或者设置函数名
next :一条一条语句执行 state :进入函数 return
: 从函数返回 run :从头运行
print :打印值 continue :从断点继续运行 quit
:退出gdb格式 info :查看断点信息
脚本使用基础 :
最重要的脚本为Bush 脚本后缀为.sh
写脚本:开头为#!/bin/sh
echo :输出 echo
'hello' > a 将hello写入a,为覆盖模式
echo 'hello' >>a 将hello写入a,为追加模式
$1第一个参数 $2第二个参数 $3第三个参数 $*所有参数 $0脚本名本身 $#参数个数
脚本用#注释
脚本循环结构之一:
for 参数 in $1 $2 $3 $4
do
done
判断文件类型脚本:
if [ -z $PATH ] ; then
echo "error"
exit
fi
if [ -d $PATH ] ; then
echo "DIR"
elif [ -f $PATH ] ; then
echo "FILE"
fi
读取输入字符类型脚本:
read key
case "${key}" in
[A-Z] ) echo "Upperletter";;
[a-z] ) echo "Lowerletter";;
[0-9] ) echo "Number";;
*) echo "error";;
esac
输入一大段代码的情况:
cat > $file <<EOF
代码
EOF
C语言基础(一)
sizeof 关键字的一种,求数据长度
有符号整型化为无符号整型反码加一
const修饰变量后为只读变量,不能通过变量修改内存值
volatile:防止编译时被优化
指针本身的大小由机器系统字长决定
堆和栈的区别: 一、堆栈空间分配区别:
1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈; 2、堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。
二、堆栈缓存方式区别:
1、栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放; 2、堆是存放在二级缓存中,生命周期由虚拟机的垃圾回收算法来决定(并不是一旦成为孤儿对象就能被回收)。所以调用这些对象的速度要相对来得低一些。
三、堆栈数据结构区别: 堆(数据结构):堆可以被看成是一棵树,如:堆排序; 栈(数据结构):一种先进后出的数据结构。
static的用法:
第一、在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。
第二、static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。 第三、static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。Static修饰的局部变量存放在全局数据区的静态变量区。初始化的时候自动初始化为0; (1)不想被释放的时候,可以使用static修饰。比如修饰函数中存放在栈空间的数组。如果不想让这个数组在函数调用结束释放可以使用static修饰 (2)考虑到数据安全性(当程想要使用全局变量的时候应该先考虑使用static)
相关文章推荐
- Linux-C基础知识学习:C语言作业-从键盘输入一行字符,统计其中有多少个字母, 数字,空格(用数组实现,gets)。
- Linux-C基础知识学习:C语言作业-输入某个学生的信息(姓名,年龄,5门功课成绩),计算平均成绩并输出。(待完善)
- 初识Java (Java语言基础-运算符)
- Linux下C语言编程--基础知识
- 【原创】C程序设计语言(2版KR) - C语言基础知识(1) 分类: Linux --- C 2014-11-21 16:16 73人阅读 评论(0) 收藏
- Linux下C语言编程--基础知识
- Linux下C语言编译基础及makefile的编写
- 嵌入式Linux入门基础知识 ---- 链接脚本、汇编语言、混合编程
- Linux下C语言编程基础知识
- Linux基础知识之——初识命令
- linux基础(vi颜色,压缩文件,系统语言)
- Linux-C基础知识学习:C语言作业-输入两个数,将两个数交换,按升序输出。
- C语言基础(1.linux终端命令2.gcc过程3.命令行模式和输入模式切换4.命令行一些命令5.函数(三要素)6.基本的C语言代码结构)
- Linux下C语言编程基础知识
- Linux下C语言编程基础知识
- 2017-10-6Linux基础知识(4)安装Linux及设置语言环境
- Linux初识及基础命令
- 初识MySQL之——SQL语言基础
- Linux-C基础知识学习:C语言作业-输入10个整数,输出其中最大的数
- Linux学习笔记一 ---- Linux基础知识认知以及初识Linux下C编程入门