摘要:
位运算合集(&、|、^、~、>>、<<) 在学习和研究源码过程中,经常遇到使用位运算的逻辑,代码看着简洁,执行效率也高;特此总结和记录位运算的使用方法。 1.位运算概述 从现代计算机中所有的数据二进制的形式存储在设备中。即0、1两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算 阅读全文
摘要:
一、core dump文件生成 Core文件其实就是内存的映像,当程序崩溃时,存储内存的相应信息,主用用于对程序进行调试。当程序崩溃时便会产生core文件,其实准确的应该说是core dump 文件,默认生成位置与可执行程序位于同一目录下。 1.查看core文件生成是否开启 ulimit -a 第一 阅读全文
摘要:
首先重启下hyper-v的服务,看下情况: 1、检查hyper-v相关的服务有没有开启 2、如果开启了服务,unbuntu仍然不能连网,则在ubtuntu中进行接下来的步骤: 2.1 设置网络连接为NAT模式; 2.2 在控制台输入以下命令 sudo service network-manager 阅读全文
摘要:
把常用的`tar`解压命令总结下,当作备忘: ``` -c:建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 ``` 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 阅读全文
摘要:
1.工程属性选择错误 问题: 分析: 新建的是控制台程序,但编译器和链接器却用的是windows子系统 解决办法: ==WINDOWS和CONSOLE选择== 右键工程名, 打开属性,依次找到以下路径: 然后将这里的_WINDOWS删除,并添加_CONSOLE 接下来再依次点击如下路径: 将这里的子 阅读全文
摘要:
protobuf使用简单示例 一.安装 首先下载protobuf的安装包,我这里使用的是protobuf-cpp-3.21.5.tar.gz 解压安装包 tar -xzf protobuf-cpp-3.21.5.tar.gz 进入解压后的文件夹 cd protobuf-3.21.5/ 生成Makef 阅读全文
摘要:
GDB调试显示< optimized_out > 最近使用GDB调试的时候,经常遇到GDB查看变量值的时候输出< optimized_out >,Google了一下,找到几个解决方法,来应对不通情况下需要查看具体变量输出的场景。 解决方案 将GCC优化选项调整为O1或是O0 GCC在O2、O3优化选 阅读全文
摘要:
0. 前言 一个多月前,由于工程项目的需要,匆匆的学习了一下cmake的使用方法,现在有时间拿出来整理一下。本文假设你已经学会了cmake的使用方法,如果你还不会使用cmake,请参考相关资料之后再继续向下看。 本文中介绍的是生成可执行程序的方法和步骤,生成动态库和静态库的方法与此有所不同,随后会介 阅读全文
摘要:
调试器GDB的基本使用方法 转载连接:https://www.cnblogs.com/arnoldlu/p/9633254.html 注意事项: 初次使用gdb调试器,中间出了好多问题,例如标题所说的No symbol table is loaded. Use the "file" command. 阅读全文
摘要:
Gcc内置原子操作__sync_系列函数简述及例程 Gcc 4.1.2版本之后,对X86或X86_64支持内置原子操作。就是说,不需要引入第三方库(如pthread)的锁保护,即可对1、2、4、8字节的数值或指针类型,进行原子加/减/与/或/异或等操作。 __sync_fetch_and_add系列 阅读全文