如何在 64 位 GCC 的 C 和 C++ 中编译 32 位程序2024 年 8 月 28 日 | 3 分钟阅读 企业办公室使用的系统涵盖了软件、能源以及食品饮料等领域。教育、IT或非IT行业都已从32位等旧版本转向64位版本。我们使用GCC或Clang等编译器来执行C或C++编程语言代码。不仅仅是转型,现代计算机的新产品其操作系统(无论是macOS还是Windows)的默认版本都是64位版本。 如果我们需要编译一个32位程序进行开发或测试,完成任务就会变得不可能或困难。尽管在我们的系统上安装64位环境非常有益,这有助于我们更快、更高效地完成任务,但运行32位程序并不切实际。因此,我们采用以下将要讨论的一些做法。 Linux命令(确认GCC的位环境版本) 在上述代码命令的第四行执行中,我们从系统得到确认,我们的位环境是64位本地。现在要开始执行我们的32位程序的本地64位版本,我们在Linux环境中的命令行中使用-m32应用以下代码命令,并且为了编译文件,我们使用-m32标志,例如文件jtp_intern.C 运行上述命令后,如果Linux环境编译器抛出以下错误: 致命错误:bits/prefs.h:在您的本地Linux Ubuntu环境中无法访问此类文件或目录 添加以下命令来安装GCC。上述错误表明GCC编译器缺失,它帮助我们运行和执行用C和C++编程语言编写的程序。 用于安装C++编程语言GCC的Linux命令 用于安装C编程语言GCC的Linux命令 C++ 代码 输出 Default 64-bit compilation, $ gcc -m32 test_c.c test_c.c:4:28: warning: format '%lu' expects argument of type 'long unsigned int,' but argument 2 has type 'unsigned int [-Wformat=] printf("The Size is: %lu ", sizeof(long)); ~~^ %u Size = 8 The forced 32-bit compilation, $ gcc -m32 test_c.c test_c.c: In function 'main': test_c.c:4:28: warning: format '%lu' expects argument of type 'long unsigned int,' but argument 2 has type 'unsigned int [-Wformat=] printf("The Size is: %lu ", sizeof(long)); ~~^ %u Size = 4 C 代码 输出 Default 64-bit compilation, $ gcc -m32 test_c.c test_c.c:3:1: warning: return type defaults to 'int' [-Wimplicit-int] main(){ ^~~~ test_c.c: In function 'main': test_c.c:4:28: warning: format '%lu' expects argument of type 'long unsigned int,' but argument 2 has type 'unsigned int [-Wformat=] printf("The Size is: %lu ", sizeof(long)); ~~^ %u Size = 8 The forced 32-bit compilation, $ gcc -m32 test_c.c test_c.c:3:1: warning: return type defaults to 'int' [-Wimplicit-int] main(){ ^~~~ test_c.c: In function 'main': test_c.c:4:28: warning: format '%lu' expects argument of type 'long unsigned int,' but argument 2 has type 'unsigned int [-Wformat=] printf("The Size is: %lu ", sizeof(long)); ~~^ %u Size = 4 |
在 C++ 中,通过将坐标增加直到欧几里得距离 <= D 来找到获胜者 简介:在此 C++ 方法中,目标是通过系统地增加获胜坐标的值来确定一组获胜坐标,直到其与原点的欧几里得距离等于或小于指定的最小距离...
11 分钟阅读
它们在 C++ 的 strtoimax() 和 strtoumax() 函数的运行方式相同,不同之处在于它们用于将宽字符串 (wstring) 的数据转换为给定基数的整数。此函数定义在头文件 cinttypes 中。头文件...
阅读 3 分钟
什么是 C++ STL?STL 是 C++ 标准模板库的缩写。该库包含用于各种用途的内置函数和类。列表也是在标准模板库 (STL) 中定义的数据结构。有很多内置函数可用于……
阅读 4 分钟
模式识别是计算机科学领域中的一个重要问题。当我们要在记事本/文字处理器、浏览器或数据库中搜索字符串时,模式搜索方法会显示搜索结果。以下是一个问题陈述的示例:给定一个字符串 text[0..n-1] 和一个...
阅读 4 分钟
当定义一个数组时,我们需要创建一些东西,因为在定义一个类时;我们需要注意的是,不会分配任何存储空间。因此,使用类的对象创建变得至关重要。初始化数组有很多方法……
阅读 3 分钟
生物信息学序列比对概述 序列比对是生物信息学中的一项基本任务,涉及 DNA、RNA 或蛋白质等生物序列的比较,以识别相似性和差异性。此过程对于理解不同物种之间的进化关系、注释基因和破译...
阅读 13 分钟
回文数是指反转后仍然相同的数字。例如 121、34543、343、131、48984 是回文数。回文数算法 从用户获取数字 将数字保存在临时变量中 反转数字 将临时数字与反转后的数字进行比较 如果两个数字相同,则...
阅读1分钟
直方图是计算机科学中一种重要的数据结构,具有许多用途,包括数据分析和图像处理。确定直方图中的最大矩形区域是一个经常遇到的挑战。在这篇文章中,我们将研究一种使用以下方法处理此问题的快速有效方法...
阅读 4 分钟
摘要:在当今的数字时代,数据安全非常重要,而加密算法在保护敏感信息方面起着至关重要的作用。一种因其效率和安全性而脱颖而出的算法是高级加密标准 (AES)。在本文中,我们将深入探讨基本知识...
11 分钟阅读
在本文中,您将了解 C++ 中的 mbsrtowcs() 函数及其示例。在 C/C++ 中,mbsrtowcs() 函数是管理字符串中字符转换的有效工具。它是标准 C 库的一个重要组成部分,可帮助开发人员处理各种字符……
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India