搭建项目过程中用到的相关文件

./build.sh(cmake)-》解析CMakelists生成makefile-》./build.sh(make)-》makefile和代码编程成可执行文件(gtestcase)

.clang-format: //代码格式

#基础样式

BasedOnStyle: Google

#指针的*的挨着哪边

PointerAlignment: Right

#访问修饰符前的空格

AccessModifierOffset: -2

# 缩进宽度

IndentWidth: 2

# 连续的空行保留几行

MaxEmptyLinesToKeep: 1

# 圆括号的换行方式

BreakBeforeBraces: Attach

# 是否允许短方法单行

AllowShortFunctionsOnASingleLine: false

# 支持一行的if

AllowShortIfStatementsOnASingleLine: true

# 在未封闭(括号的开始和结束不在同一行)的括号中的代码是否对齐

AlignAfterOpenBracket: true

# switch的case缩进

IndentCaseLabels: true

# 针对OC的block的缩进宽度

ObjCBlockIndentWidth: 2

# 针对OC,属性名后加空格

ObjCSpaceAfterProperty: true

# 每行字符的长度

ColumnLimit: 240

# 注释对齐

AlignTrailingComments: true

# 括号后加空格

SpaceAfterCStyleCast: false

# 换行的时候对齐操作符

AlignOperands: true

# 中括号两边空格 []

SpacesInSquareBrackets: false

# 多行声明语句按照=对齐

AlignConsecutiveDeclarations: false

# 容器类的空格 例如 OC的字典

SpacesInContainerLiterals: false

# 在构造函数初始化时按逗号断行,并以冒号对齐

BreakConstructorInitializersBeforeComma: true

# 函数参数换行

AllowAllParametersOfDeclarationOnNextLine: true

#在续行(#     下一行)时的缩进长度

ContinuationIndentWidth: 4

# tab键盘的宽度

TabWidth: 2

# 赋值运算符前加空格

SpaceBeforeAssignmentOperators: true

# 行尾的注释前加1个空格

SpacesBeforeTrailingComments: 1

# 函数返回类型换行时,缩进函数声明或函数定义的函数名

IndentWrappedFunctionNames: true

.gitignore //git上传忽略文件

!*.*

!*/

BUILD

Makefile

*Dockerfile

AUTHORS

LICENSE

README

WORKSPACE

tags

.vscode/

3rdparty/or-tools/examples

build

.history/

#*.json

*.dot

*.pdf

#*.dat

*.orig

*.tar

*.tar.gz

tests/sparse_matrix/sparse_matrix

*.restored

*.o

*.cmake

*.frames.txt

*.low_bytes.txt

*.high_bytes.txt

*output_file/*.txt

*models/CMakeFiles

*models/*.cmake

*output_file/*.txt

*examples/output_cnn/map/*.txt

*models/CMakeCache.txt

*models/install_manifest.txt

*models/libwitin.so

./build/

output_file/

dump/

include/mpu/ver.h

last_dump/

toolchain/fuse/0711

toolchain/atw_warp

.idea/

cmake-build-debug/

killDbg.sh

script/xxx_mpu_config.ini

mpu_log.ans

CMakeLists.txt://生成makefile,控制编译规则

cmake_minimum_required(VERSION 3.16)

指定项目名称和构建过程中相关工具及其版本号

set(CMAKE_C_COMPILER "/usr/bin/gcc")

gcc 编译器来编译 C 语言源代码

set(CMAKE_CXX_COMPILER "/usr/bin/g++")

g++ 编译器来编译 C++ 语言源代码。

project (xxx_sim)

定义项目名称

add_definitions("-g")

向编译器添加指定的编译选项。在这里,-g 是一个编译选项,表示在编译过程中生成调试信息以便进行调试。

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall  -Werror=unused-variable -Werror=unused-but-set-variable ")

-Werror=unused- variable 表示将未 使用的变量视为 错误。
-Werror=unused-but-set- variable 表示 将已设置但未使用的变量视为 错误。

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")

-fsanitize=address 是用来开启地址(memory)工具的,用于检测内存访问错误

-fno-omit-frame-pointer 则是为了在生成的可执行文件中保留 frame pointer (框架指针),以便在堆栈跟踪时能够更准确地定位调用栈中的函数

file(GLOB INCLUDE_DIR "inc/")

inc/目录下的头文件所在的路径添加到编译器的头文件搜索路径中,以便在编译项目时能够正确地找到并包含这些头文件

include_directories(inc)

include_directories(${INCLUDE_DIR})

命令用于向项目中添加包含目录,告诉编译器在哪些位置查找头文件

file(GLOB TEST_SRCS "test/*.cpp")

test目录下的所有 .cpp 文件匹配TEST_SRCS

file(GLOB SOURCES src/api/*.cpp src/base/*.cpp src/xxx/*.cpp)

src目录下所有 .cpp 文件匹配到SOURCES中。

macro(simulator_add_test name)

  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY .)

  add_executable(${name} ${TEST_SRCS} ${SOURCES})

  target_include_directories(${name} PRIVATE ${INCLUDE_DIR})

  target_link_libraries(${name} PRIVATE gtest_main)

  target_link_libraries(${name} PRIVATE gtest)

  target_link_libraries(${name} PRIVATE pthread)

endmacro()

定义了一个名为 simulator_add_test 的宏(macro),用于简化在 CMakeLists.txt 文件中添加测试可执行文件的过程。

add_compile_options(-std=c++14)

告诉编译器使用C++14标准来编译代码

link_libraries(pthread)

用于链接 pthread 库,以支持多线程操作。

add_library(xx02_sim SHARED ${SOURCES_CPP} ${SOURCES_C})

创建一个名为 xx02_sim 的共享库(shared library),该库包含 ${SOURCES_CPP} 和 ${SOURCES_C} 中的源文件

target_link_libraries(xx02_exec /lib/x86_64-linux-gnu/libm-2.27.so)

将 /lib/x86_64-linux-gnu/libm-2.27.so 这个库链接到 xx02_exec 共享库。

simulator_add_test(gtestcases)

使用之前定义的宏 simulator_add_test 创建一个名为 gtestcases 的测试可执行文件。

build.sh://编译脚本

if [ "$1" != "" ]; then

    if [ -d ./build ]; then

        rm -rf ./build

    fi

fi

if [ ! -d ./build ]; then

    mkdir ./build

fi

cd build

cmake ..

make -j8

cd ..

gtestcash.sh//可执行文件

rm ./dump/* -rf

./build/gtestcases

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值