Linux学习笔记

设置行号(vi命令模式下使用)
set nonu :关闭行号
set nu :打开行号
sp hello.c 在一个.c文件中调用另一个文件
ctrl ww 切换光标的所在的位置
查找
/加查找的内容 也可以进入底行模式输入字符串查找n查找下一个,shift n查找上一个
%s/要查找的字符串/要替换的字符串/g g:代表所有
vim 的配置
/s/etc/vimrc vim 有关的代码都在这个文件夹里面,要配置则在这里面修改,这里的代码的注释用的是“,和C语言上的有些不同
gcc的使用
预处理:gcc -E hello.c -o hello.i(文本文件)
编译 :gcc -s hello.i -o hello.s(汇编代码)
汇编 :gcc -c hello.s -o hello.o
链接 :gcc 所有的.o文件 hello
gcc -I 指定头文件的路径,在同一个目录中则不用添加
比如在“/root/workplace/Gcc”下有两个文件:
Hello1.c:
#include<my.h>
int main()
{
printf(“Hello!!n”);
return 0;
}
my.h:
#include<stdio.h>
gcc -static 静态链接
就可在Gcc命令行中加入“-I”选项:
#gcc hello1.c –I /root/workplace/gcc/
-o hello1

工程管理器:$不明白是什么意思
编写Makefile 文件
Target=helo
Object=hello.o print.o
( T a r g e t ) : (Target): (Target):(Obeject)
gcc $(Object) -o $(Target)
.PHONY :clean
rm * .o hello
被调试的应用程序在编译时最好使用-g参数将调试信息编入目标文件中:
gcc -g app.c -o app
用以下命令启动对程序app的调试:
gdb app
list 数字,调试第几行
b 数字 在第几行加上断点
info b 查看断点
n 跳出函数
s 进入函数

SHELL编程
shell编程的文件一般后缀为.sh
例如:
#! /bin/bash
echo “想要输出在屏幕上的字符串”
echo “字符串” >文件名.txt :把字符串放在这个文件里面,没有则先创建
注意点:echo 类似与输出一个字符串,>:转向输入符号,第二次用则之前的内容会被覆盖 >> 这个符号不会被覆盖
例如:cat 文件1路径 >>文件2 把文件1里面的东西放在文件二中
${} 引用
$数字 第几个参数 如$1则是第一个参数(类似于形参)
shell写循环
vim test.sh
#!/bin/bash
for((i=0;i<5;i++))
do
echo “字符串”
done

for i in 111 222 333 444
do
echo $i
done

for i in $1 $2 $3 $4
do
mkdir $1
cd $i
echo > $1 “代码”
done
if [$2 -gt 0 ]; then
echo “…”
elif [ $2 -lt 0 ]; then
echo
遇到的问题
在调用数学库时,显示函数未定义
解决方法:在gcc编译的时候加上-lm
-lm是连接数学库;
  -lm命令是使编译的时候,链接数学库, -lptread 链接线程库,可以使自己编译的库 ;
  g++编译程序成为.o目标函数,然后需要和库函数连接到一起;
  gcc 在编译时就可以将其替换为对应的值(gcc 优化的一部分),从而不需要链接 sqrt 所在的数学库 libm;而像 sqrt(n); 这种调用,一般无法做这种替换,因此需要链接 libm。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值