
C/C++
文章平均质量分 82
bluewhu
这个作者很懒,什么都没留下…
展开
-
gdb调试时no debugging symbols found
GDB调试时遇到提示:no debugging symbols foundMissing separate debuginfos, use: debuginfo-install glibc-2.17-55.el7.x86_64先安装debuginfo-install glibc-XXX,然后修改make文件解决。原创 2022-04-08 11:09:51 · 4425 阅读 · 0 评论 -
UNIX环境高级编程(屏幕打印和inet_ntoa输出异常问题)
一、来回在屏幕和文件之间打印二、inet_ntoa和inet_ntop报段错误原创 2022-01-24 13:45:05 · 950 阅读 · 0 评论 -
LINUX环境编程问题(一)
1、STDIN_FILENO 与stdin的区别2、cc、gcc与g++的区别3、Linux输入输出重定向转载 2021-12-29 11:39:40 · 416 阅读 · 0 评论 -
C++编译调试问题(一)
1、warning: reference to local variable `result' returned2、passing `const std::string' as `this' argument of3、 [Linker error] undefined reference to `XXX'4、Dev-C++ GDB无法调试5、Dev-C++ GDB调试STL6、set<int>通过stringstream转换为string显示不对原创 2021-10-18 16:07:37 · 802 阅读 · 0 评论 -
size_t和size_type的区别
为了使自己的程序有很好的移植性,C++程序员应该尽量使用size_t和size_type,而不是int,unsigned。在标准C/C++的语法中,只有int float char bool等基本的数据类型,至于size_t,或size_type都是以后的编程人员为了方便记忆所定义的一些便于理解的由基本数据类型的变体类型。size_t是为了方便系统之间的移植而定义的,它是一个无符号整型,在32位系统上定义为:unsigned int;在64位系统上定义为unsigned long。size_t一般用转载 2021-10-13 09:57:34 · 681 阅读 · 0 评论 -
【Linux】GDB用法详解
很不错的GDB学习教程,写得很有条理,转过来收藏GDB是一个强大的命令行调试工具。虽然X Window提供了GDB的图形版DDD,但是我仍然更钟爱在命令行模式下使用GDB。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。 UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强劲的转载 2021-05-26 13:59:45 · 1006 阅读 · 0 评论 -
linux 下vim的使用
一、VI简介vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界里畅行无阻。vim 具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计;因为程序简单,编辑速度相当快速。vim可以当作vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息。vi转载 2021-05-25 14:22:48 · 1465 阅读 · 0 评论 -
C编程笔记(二)
一、宏定义1、宏定义:1)宏定义是用宏名字来表示一个字符串,在宏展开时又以该字符串取代宏名字,这只是一种简单的代换。字符串中可以包含任何字符,可以是常数,也可以是表达式。预处理程序对它不做任何检查。如有错误,只能在编译已被宏展开后的源程序时发现。2)宏定义必须写在函数之外,其作用域为宏定义命令起到源程序结束。如要终止其作用域,可以使用#undef命令。3)宏定义不是说明语句,在行末不必加分号。如加上分号,则连分号也一起置换。4)宏名在源程序中若用引号括起来,则预处理程序不对其作宏替换。原创 2021-05-24 15:56:12 · 2339 阅读 · 0 评论 -
C编程笔记(一)
本文记录《高质量嵌入式Linux C编程》等书中的一些易错内容。一、字符串常量与字符数组字符串常量放在代码区,是只读不可写的(所以字符串常量不可修改)。字符数组与普通变量一样存放在栈上,可以进行修改。如果尝试修改字符串常量,编译时无问题,运行时会出现段错误。int test2(){ char *str = "hello world"; //*str = "goodbye world"; //尝试修改字符串常量,编译无问题,运行时报段错误。Program term.原创 2021-05-19 16:20:01 · 823 阅读 · 1 评论 -
《C专家编程》阅读笔记
一、符号重载 符号 意义 static 在函数内部,表示该变量的值在各个调用间一直保持延续性 在函数这一级,表示该函数只对本文件可见 extern 用于函数定义,表示全局可见(属于冗余的) 用于变量,表示它在其他地方定义 void 作为函数的返回值类型,表示不返回任何值 在指针声明中,表示通用的指针类型 ...原创 2021-04-28 15:56:22 · 342 阅读 · 0 评论 -
Visual Studio使用pthread库
一、动态链接库(dll)的使用https://blog.youkuaiyun.com/weixin_44117123/article/details/106463563https://www.cnblogs.com/marblemm/p/7804056.html二、pthread来源ftp://sourceware.org/pub/pthreads-win32/dll-latest/https://blog.youkuaiyun.com/qq_42152681/article/...原创 2021-03-12 14:13:24 · 1687 阅读 · 0 评论 -
gtest编译gtest-port.h、gtest-internal.h、gtest-linked_ptr.h报错问题
今天用gtest编写测试用例后,gtest-port.h、gtest-internal.h、gtest-linked_ptr.h报了一堆莫名其妙的问题:后来将#include "gtest\gtest.h"放在引入头文件的第一个,这些gtest问题就消失了。缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int语法错误: 缺少“;”(在“{”的前面)语法错误:“常数”“{”: 缺少函数标题(是否是老式的形式表?)不可识别的模板声明/定义语法错误: 缺少“;”(在“<原创 2021-01-29 10:07:29 · 1952 阅读 · 0 评论