64位Linux编译32位程序
发表于|更新于|学习
|总字数:63|阅读时长:1分钟|浏览量:
查看系统架构
1 | uname -m |
然后需要修改64位makefile中的两处位置,第一为修改依赖库为32位的库,第二为给gcc后加上-m32的参数
file a.out查看输出程序是64-bit还是32-bit
文章作者: ciiki
文章链接: https://ciiki.eu.org/2022/11/29/64%E4%BD%8DLinux%E7%BC%96%E8%AF%9132%E4%BD%8D%E7%A8%8B%E5%BA%8F/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ciiki的博客!
相关推荐

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(); retur...

2024-12-26
RtAudio播放PCM
RtAudio播放PCM1. RtAudio简介RtAudio是一个跨平台的音频I/O库,可以在Windows、MacOS和Linux上使用。它提供了简单易用的接口,可以方便地进行音频数据的输入和输出。项目地址 Pulse和ALSA的区别PulseAudio和ALSA是Linux系统中两种重要的音频处理组件,它们在功能和用途上存在显著区别。 ALSA(Advanced Linux Sound Architecture)ALSA是Linux内核的一部分,主要负责与声卡的直接通信。它提供了一套底层的音频驱动接口,允许应用程序直接访问声卡硬件。然而,ALSA有一些局限性,例如它一次只能处理一个应用程序的音频流,且不支持多路混音。此外,ALSA的配置和使用相对复杂,需要手动设置和调整。 PulseAudioPulseAudio是一个运行在用户空间的音频服务器,它通过ALSA与硬件通信。PulseAudio的主要功能是作为多个应用程序之间的音频仲裁者,能够同时处理多个音频流,并提供混音、音量控制、设备切换等功能。PulseAudio还支持跨平台使用,可以在不同的操作系统上运行...

2024-10-14
内存重叠问题
今天开发中偶遇一个问题,程序乱崩溃,偶尔崩在new对象里,偶尔崩在对象释放里,甚至访问局部int变量也崩过,gdb显示不出更多有用信息,最后才定位到内存重叠问题 原始代码比较复杂,简化后就是下面的模型 12char arr[9];memcpy(&arr[0], &arr[3], sizeof(char)*6); 本意是节省点内存,直接用arr指向的内存,显然这里拷贝时存在重叠部分。阅读文档才知道原来memcpy不支持内存重叠的拷贝,之前还不知道。(搜索关键词 memcpy overlap) memcpy 内存重叠会引发未定义问题,这也就是程序乱崩的原因 解决方案是换成memmove即可,或者新申请块内存,拷贝至新内存再拷回去

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 工具链 去 https://...

2024-08-08
无线网卡搭建AP
无线网卡分配IP1ip addr add 10.5.5.1/24 dev wlan0 (不一定wlan0,看你的无线网卡名称) 开启NAT和路由转发wlan0是无线网卡,eth0是连接外网的有线网卡 12345sysctl -w net.ipv4.ip_forward=1iptables -A FORWARD -i wlan0 -o eth0 -s 10.5.5.0/24 -m state --state NEW -j ACCEPTiptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE hostapd建立热点1apt install hostapd 1vim /etc/hostapd/hostapd.conf 12345678driver=nl80211ssid=37lab #自己给wifi起个名字channel=10interface=wlan0wpa=3wpa_passphr...
评论
公告
This is my Blog




