编译warning处理
发表于|更新于|工作笔记
|总字数:42|阅读时长:1分钟|浏览量:
子类指针强转至父类会出现字节未对齐的warning,如果想去掉编译warning只需要先将子类转至void*,再强转到父类
文章作者: ciiki
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ciiki的博客!
相关推荐

2022-11-29
64位Linux编译32位程序
查看系统架构 123uname -mlscpucat /proc/cpuinfo 然后需要修改64位makefile中的两处位置,第一为修改依赖库为32位的库,第二为给gcc后加上-m32的参数 file a.out查看输出程序是64-bit还是32-bit

2024-11-29
C++带返回值类型函数不加return引发的血案
背景写的代码在x64上单元测试一点问题没有,交叉编译出aarch64架构程序,跑在测试那里一开就崩,查了半天竟然是没有加return引发的血案… 调试过程函数调用funca,调用完funca后本应该回到调用函数,但gdb查core却看到奇怪的堆栈信息funcb在funca之上,且崩在funcb里,这里简单写个小demo测试了一下(当然这个demo不会崩,因为没有访问成员变量) 123456789101112131415161718192021#include <iostream>using namespace std;int funca(){ cout << "this is func A" << endl; //return 0;}int funcb(){ cout << "this is func B" << endl; return 0;}int main(){ funca(); ...

2023-12-01
CMake学习笔记
设置cmake最低版本1cmake_minimum_required(VERSION 3.0) 设置项目名称1project(rtpsender) 设置源码路径12file(GLOB SRC_LIST ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp) # 搜索文件,绝对路径include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) # 头目录 设置库目录1link_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib) # 库目录 设置输出目录12set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) # 库输出路径set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) #...

2023-10-17
Doxygen生成项目文档
安装doxygen和GraphViz1apt install doxygen graphviz 使用方法生成配置文件1doxygen -g 编辑配置文件1vim Doxyfile 123456789101112OUTPUT_LANGUAGE = ChineseEXTRACT_ALL = YESEXTRACT_PRIVATE = YESEXTRACT_PACKAGE = YESEXTRACT_STATIC = YESEXTRACT_LOCAL_METHODS = YESINPUT =source \ includeRECURSIVE = YESHAVE_DOT = YESCALL_GRAPH = YESCALLER_GRAPH = YES 我的完整配置 生成1doxygen

2025-04-14
MSYS2配置C++开发环境
记得之前写过一篇文章 《windows下编译libopus》 ,当时提到MSYS2未能成功编译libopus,最近又试了下,没问题了。。。yysy,突然发现MSYS2太好用了,尤其是pacman 安装MSYS2MSYS2官网:https://www.msys2.org/ 下载安装包,安装即可 windows上选择UCRT64就行了,也是官方推荐的环境 配置环境变量安装完成后,打开MSYS2,输入以下命令更新组件库 1pacman -Syu 更新系统,然后安装toolchain 12pacman -S mingw-w64-ucrt-x86_64-toolchainpacman -S mingw-w64-ucrt-x86_64-gdb 配置makemsys64/ucrt64/bin 下mingw32-make.exe,复制一份,改名为make.exe,这样就可以直接使用make命令了 配置CMake不要 pacman -S mingw-w64-ucrt-x86_64-cmake 因为这样安装的cmake功能很有限,用不了MinGW Makefiles 工具链 去...

2024-09-13
windows下编译libopus
前言libopus是xiph开发的opus音频编解码库,记录一下在windows平台使用MinGW编译libopus以及官方编解码demo的过程(为什么不用MSVC,因为MSVC就是屎,装个VS占掉十几G磁盘,各个版本VS兼容性也做得一坨,不得不装好几个版本的VS🤬,最逆天的是VS历史版本你在官网还下载不到) 配置w64devkit环境经测试opus1.5.2版本只有w64devkit里编译通过了,在git bash、MSYS2中均编译不过,报错如下 1234567891011F:\learn\opus\silk\x86\NSQ_del_dec_avx2.c:959:43: error: incompatible type for argument 1 of '_mm256_cvtepi16_epi64' __m256i x = _mm256_cvtepi16_epi64(_mm_loadu_si64(&x16[i])); ...
评论