
c++
文章平均质量分 61
@3933549xx
这个作者很懒,什么都没留下…
展开
-
升级 g++ 和 gcc 以支持 C++20
为 Ubuntu 添加 toolchain PPA。按照提示选择新安装的版本。原创 2024-07-10 09:55:00 · 1034 阅读 · 0 评论 -
Can总线字节序与相关计算
0. Bit NumberingBit numbering是汽车网络数据库用以辅助描述信号的专用术语,具体含义是位的编号顺序。在通信数据库中,有两种Bit numbering,分别是msb0和lsb0。如字面意思,在一个字节内,如果msb的位置是0号bit,那么就被称为msb0,如果lsb的位置是0,bit numbering就是lsb0。lsb0bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0msb0lit0 bit1 bit2 bit3 bit4 bit原创 2022-02-09 18:29:39 · 1942 阅读 · 0 评论 -
内联函数与宏定义
内联函数与宏定义一、宏定义和内联函数的区别宏定义不是函数,但是使用起来像函数。预处理器用复制宏代码的方式代替函数的调用,省去了函数压栈退栈过程,提高了效率。内联函数本质上是一个函数,内联函数一般用于函数体的代码比较简单的函数,不能包含复杂的控制语句,while、switch,并且内联函数本身不能直接调用自身。如果内联函数的函数体过大,编译器会自动的把这个内联函数变成普通函数。宏定义是在预编译的时候把所有的宏名用宏体来替换,简单的说就是字符串替换内联函数则是在编译的时候进行代码插入,编译器会原创 2021-05-18 10:10:51 · 188 阅读 · 0 评论 -
#pragma 的用法
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为: #Pragma Para其中Para 为参数,下面来看一些常用的参数。(1)message 参数。 Message 参数是我最喜欢的一个参数,它能够在编译信息输出窗口中输出相应的原创 2021-05-11 17:41:36 · 212 阅读 · 0 评论 -
c++dll导入导出宏定义,出现“无法定义dllimport 实体”和“不允许dllimport 静态数据成员的定义”的问题
问题如下:建立dll项目后,在Api_Head.hpp头文件中,定义宏:#ifndef API_HEAD_HPP#define API_HEAD_HPP#ifdef API_DLL_COMPILATION#define API_IMPORT_EXPORT __declspec(dllexport)#else#define API_IMPORT_EXPORT __declspec(dllimport)#endifclass API_IMPORT_EXPORT CServerCont原创 2020-08-22 18:08:07 · 6786 阅读 · 0 评论