gcc用于c工程,g++用于C++工程 第一步中由time.cpp usetime.cpp生成的time.o usetime.o为中间件 如果要将time.cpp编译成动态链接库libtime.so,则执行以下命令: 若usetime.cpp想调用libtime.so动态链接库(usetime.cpp与libtime.so在同一级目录),执行以下命令:其中-Wl . -L . 点号 .指当前目录 Makefile编写基于gcc/g++命令 Makefile写法如下: 基本规则: $(patsubst 原模式, 目标模式, 文件列表)一.Vim编辑器常用快捷键
快捷键
功能
ESC普通模式
i插入模式
w保存
q退出
wqa多个窗口保存关闭
hor←光标左移
jor↓光标下移
kor↑光标上移
lor→光标右移
u撤销
ctrl+r返回
/查找
ctrl+v 方向键 I "想输入的字符" ESC ESC在多段行首加入某字符(用于注释)
ctrl+v 方向键 d删除多段行首某字符(用于取消注释)
v 方向键选择代码块
y复制
x剪切
p粘贴
vs: file文件名水平分屏
ctrl+w h/l光标选择左/右分屏
ctrl+w H/L将当前分屏左移/右移
二. gcc/g++常用命令
假设当前C++工程文件为:头文件 time.h,源文件 time.cpp usetime.cpp
生成二进制可执行文件helloworld步骤:
g++ -c time.cpp -o time.o
g++ -c usetime.cpp -o usetime.og++ -g time.o usetime.o -o helloworld./helloworld
第二步链接生成二进制可执行文件time.o,-g 目的是可以用于gdb调试
g++ -o libtime.so -fPIC -shared time.cpp
g++ usetime.cpp -o out -Wl,-rpath=. -L. -ltime
若将libtime.so拷贝到 /usr/lib 目录中,执行以下命令:g++ usetime.cpp -o out -ltime三.Makefile编写1
例如C++工程文件目录为Self_Makeflie
Self_Makefile文件夹下含有
头文件目录::include include/time.h
源程序目录:src src/time.cpp usetime.cpp
二进制可执行文件夹:bin
编译生成的中间件: obj
链接库:lib
Makefile: Makefile
目标:依赖1 依赖2。。。
命令
INC_DIR=./include SRC_DIR=./src OBJ_DIR=./obj BIN_DIR=./bin SRC=${wildcard ${SRC_DIR}/*.cpp} OBJ=${patsubst %.cpp, ${OBJ_DIR}/%.o, ${notdir ${SRC}}} TARGET=out BIN_TARGET=${BIN_DIR}/${TARGET} CC=g++ CFLAGS= -g -I${INC_DIR} ${BIN_TARGET}:${OBJ} # ${CC} ${OBJ} -o ${BIN_TARGET} ${CC} $^ -o $@ ${OBJ_DIR}/%.o:${SRC_DIR}/%.cpp ${CC} ${CFLAGS} -c $< -o $@ .PHONY:clean clean: -rm -rf ${OBJ} ${BIN_TARGET} 
要编译工程生成可执行文件,则在含有Makefile的目录下执行命令make: pi@raspberrypi:~/CPlus_Project/Self_Makefile $ make g++ -g -I./include -c src/time.cpp -o obj/time.o g++ -g -I./include -c src/usetime.cpp -o obj/usetime.o g++ obj/time.o obj/usetime.o -o bin/out 此时生成的time.o usetime.o文件都存放在obj文件夹内
此时生成的二进制可执行文件out存放在bin文件夹内要清除生成的中间件.obj文件及可执行文件则执行命令make clean: pi@raspberrypi:~/CPlus_Project/Self_Makefile $ make clean rm -rf ./obj/time.o ./obj/usetime.o ./bin/out 清除了obj文件夹内的中间文件time.o usetime.o以及bin文件夹内的out四.GDB调试快捷键
指令
功能
gdbtui filename进入调试
break 行数设置断点
info b查看断点
delete 断点标号删除断点
ctrl+l刷新代码块
display 变量名查看变量
undisplay 变量标号不查看变量
s单步运行
next不进入子函数运行
cont从当前断点运行到下一断点
focus cmd将光标移位到cmd
focus src将光标移位到src

本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算
官方软件产品操作指南 (170)