随笔分类 - c
摘要:续前节:linux下的 c 和 c++ 开发工具及linux内核开发工具 继续工具的介绍: ftrace ftrace 除了 trace-cmd 这个命令行前端工具之外,还有一个图形化显示前端工具叫 kernelshark,非常好用,有时间片显示和过滤功能。kernelshark 和 trace-c
阅读全文
摘要:免费的: https://github.com/welhzh/Generate_Kernel_Uboot_Project_forIDE.git 内核有很多文件,真正编译的文件可能只占1/4,这个工具就是将这1/4的文件筛选出来的工具。 https://github.com/CoatiSoftware
阅读全文
摘要:crashpad是一个支持mac和windows的崩溃报告库,google还有一个breakpad,已经不建议使用了。编译 crashpad 只能用 gn 来生成 ninja 文件,gn 的下载方法: git clone https://gn.googlesource.com/gn 因此,编译cra
阅读全文
摘要:uftrace can be used to generating function call graphs of a program execution. cppcheck: very good cpp static check library. spdlog: very good logging
阅读全文
摘要:gdb可以使用python来进行配置,为自动化调试与格式化显示提供非常方便的功能,具体可以自行搜索。加载了以下介绍的界面程序,还是可以在gdb运行的时候继续加载自己定义的python插件脚本,只要自己的脚本不设计到界面定义就行,不然界面会乱。因此,用下面的插件,就不能用gdbtui了,不然界面就变了
阅读全文
摘要:要记住,这两个工具都是动态检查工具,也就是程序运行时覆盖到的代码才会被检查,未覆盖的代码是不会检查的。 valgrind是一个模拟程序运行环境并记录程序非法内存使用的一个程序工具。可能慢一些,因为是外部模拟。Valgrind慢,像调试器一样,它无法扩展。如果您要处理大型数据集,则可能会花费很长时间,
阅读全文
摘要:1、cmake 2、conan (可以方便的与cmake联合使用) 3、xmake 4、bazel 5、cppan 6、build2 7、buckaroo 附录: qpm: a package manager for qt https://github.com/lefticus/cppbestpra
阅读全文
摘要:1、qtcreator 若使用cmake作为编译工具,则cmake默认使用的是ninja作为其generator,若要将ninja改成unix makefile作为cmake的generator,则在这里改: Tools > Options > Kits > Kit kits可以翻译为构建套件。 2
阅读全文
摘要:首先,find_package 有两种模式,一是Module模式,一是Config模式。 cmake本身不提供任何搜索库的便捷方法,所有搜索库并给变量赋值的操作必须由cmake代码(自己写的)完成,比如下面将要提到的FindXXX.cmake和XXXConfig.cmake。只不过,库的作者通常会提
阅读全文
摘要:gethostbyname, gethostbyaddr是不可重入函数;已经被getaddrinfo, getnameinfo替代。 可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段。不可重入,意
阅读全文
摘要:在1982年,Tateaki. Sasaki 和 Yasumasa Kanada 发表了一篇论文:Practically Fast Multiple-Precision Evaluation of LOG(x)。在这篇只有四页的论文中,他们介绍了一个计算自然对数的快速算法。 c 代码如下: 总体也不
阅读全文
摘要:https://en.wikipedia.org/wiki/Netlink https://stackoverflow.com/questions/12899055/how-kernel-notify-a-user-space-program-an-interrupt-occurrs There i
阅读全文
摘要:https://www.cmrr.umn.edu/~strupp/serial.html#CONTENTS Introduction Chapter 1, Basics of Serial Communications What Are Serial Communications? What Is
阅读全文
摘要:https://stackoverflow.com/questions/185844/how-to-initialize-private-static-members-in-c https://stackoverflow.com/questions/1197106/static-constructo
阅读全文
摘要:https://opensource.com/article/18/6/embedded-linux-build-tools https://github.com/luong-komorebi/Awesome-Linux-Software#development Anjuta: http://anj
阅读全文
摘要:https://www.zybuluo.com/khan-lau/note/254724 CMake 用法导览 Preface : 本文是CMake官方文档CMake Tutorial (http://www.cmake.org/cmake/help/cmake_tutorial.html) 的翻译
阅读全文
摘要:GDB查看堆栈局部变量 “参数从右到左入栈”,“局部变量在栈上分配空间”,听的耳朵都起茧子了。最近做项目涉及C和汇编互相调用,写代码的时候才发现没真正弄明白。自己写了个最简单的函数,用gdb跟踪了调用过程,才多少懂了一点。 参考资料: http://blog.csdn.net/liigo/archi
阅读全文
摘要:https://opensourceforu.com/2015/03/a-guide-to-using-raw-sockets/ In this tutorial, lets take a look at how raw sockets can be used to receive data pa
阅读全文
摘要:https://github.com/minio/c2goasm http://microapl.com/asm2c/index.html 收费的 https://github.com/xlab/c-for-go c转golang https://github.com/xlab/android-go
阅读全文
摘要:鉴于自己的毕设需要使用GPU CUDA这项技术,想找一本入门的教材,选择了Jason Sanders等所著的书《CUDA By Example an Introduction to General Purpose GPU Programming》。这本书作为入门教材,写的很不错。自己觉得从理解与记忆
阅读全文