如何创建可移植的Linux二进制文件(即使你需要最新的编译器)?

如何创建可移植的Linux二进制文件(即使你需要最新的编译器)?为在各种发行版上运行的Linux创建应用程序二进制文件有点棘手,因为不同的发行版提供了不同版本的各种系统库。这些通常向后兼容,但不向前兼容,因此链接到旧版本库的程序也适用于较新版本,但不是(必然)反过来。因此,你希望将你的应用程序与这些库的旧版本链接;但是,尤其是在使用C++11或更新版本时,这并不总是可行的。这篇文章将展示如何处理这些问题。它专注于视频游戏,但总体思路也适用于其他类型的应用程序(对于普通的GUI应用程序,您可能有更多或更复杂的依赖项,例如Qt,可能需要额外注意,此处未详细说明)#教程

相关推荐

封面图片

智能自动化二进制漏洞分析工具

智能自动化二进制漏洞分析工具Callisto是一款智能自动化二进制漏洞分析工具。其目的是自动反编译提供的二进制文件并迭代伪代码输出,查找该伪C代码中潜在的安全漏洞。Ghidra的无头反编译器驱动二进制反编译和分析部分。伪代码分析最初由SemgrepSAST工具执行,然后传输到GPT-3.5-Turbo,以验证Semgrep的发现以及潜在的其他漏洞识别。该工具的预期目的是协助二进制分析和零日漏洞发现。输出旨在帮助研究人员识别二进制文件中潜在的感兴趣区域或易受攻击的组件,然后可以进行动态测试以进行验证和利用。它当然不会捕获所有内容,但使用Semgrep对GPT-3.5进行双重验证旨在减少误报并允许对程序进行更深入的分析。对于那些希望将该工具用作快速无头反编译器的人来说,output.c创建的文件将包含从二进制文件中提取的所有伪代码。这可以插入您自己的SAST工具或手动分析。#工具

封面图片

Vitalik:预计未来几个月基于二进制字段的证明技术会有更多改进

Vitalik:预计未来几个月基于二进制字段的证明技术会有更多改进以太坊联合创始人VitalikButerin发布最新博客《Binius:二进制字段的高效证明》。SNARK和STARK证明计算机程序的方式是通过算术化:将要证明的程序的陈述转换为涉及多项式的数学方程。方程的有效解对应于程序的有效执行。一般来说,零知识证明系统的工作原理是对多项式进行陈述,同时表示有关基础评估的陈述。Binius使用了许多数学技巧,使其与三年前的SNARK和STARK截然不同。VitalikButerin还介绍了小字段使证明生成更高效的原因、二进制字段具有独特强大功能的原因,以及Binius用于使二进制字段的证明能够有效地工作的技巧。预计未来几个月基于二进制字段的证明技术会有更多改进。

封面图片

二进制恋爱 (2022)

名称:二进制恋爱(2022)描述:偏科少女周林林(庄达菲饰)在学霸方予可(任宥纶饰)的精心筹划下,奋起直追,考上了全国最高学府。入学后,粗线条的周林林意外和网球新星文涛(刘宇航饰)、方予可的好兄弟谢端西(阳兵卓饰)闹出乌龙;和寝室室友叶茹庭(胡嘉欣饰)、朱莉(屈琴涵饰)建立起了奇妙又温馨的姐妹友谊。最终,在大嘴(刘书源饰)和老丁(吴逸迦饰)等人的助攻之下,方予可的暗恋长跑终于抵达了终点。链接:https://pan.quark.cn/s/386b6190f43c大小:T标签:#剧情#喜剧#爱情#二进制恋爱#quark频道:@yunpanshare群组:@yunpangroup

封面图片

腾讯柠檬清理 清理“通用二进制文件”时会造成部分应用不完整

腾讯柠檬清理清理“通用二进制文件”时会造成部分应用不完整受到影响的应用有SetApp、Chrome、Firefox、微信、落格输入法、坚果云、Surge、网易云、QQ等众多应用!https://github.com/Tencent/lemon-cleaner/issues/40官方此前说13系统会取消针对通用二进制文件的清理,但是现在依旧存在该功能默认勾选。本bug仅限官方包,Github源码不存在该bug投稿:@ZaiHuaBot频道:@TestFlightCN

封面图片

如何使用二进制搜索来查找编译器错误?

封面图片

Cheep C++ 到 Webassembly 编译器现已开源。

CheepC++到Webassembly编译器现已开源。Cheerp是一个用于Web应用程序的C/C++编译器,可让你将几乎所有C/C++代码编译为WebAssembly和JavaScript。其最新的3.0版本已经开源。​​​Cheerp是一个用于Web应用程序的C/C++编译器,可让您将几乎所有C/C++代码编译为WebAssembly和JavaScript。其最新的3.0版本已经开源。Cheerp主要用于将现有的C/C++库和应用程序移植到HTML5,但也可用于从头开始编写高性能Web应用程序和WebAssembly组件。使用Cheerp,C/C++代码被编译成JavaScript/WebAssembly,并通过公开正确的JavaScript接口进行优化,可以轻松集成到Web应用程序中。Cheerp是Webassembly编译工具系列的一部分,与CheerpJ、CheerpXforFlash和WebVM并列。可用于以下场景:1.将遗留Java应用程序和JavaApplets转换为HTML5,只需很少的努力或无需任何努力,以延长它们的生命,直到弃用,或直到开发出替代的本机HTML应用程序。2.将现有的Java客户端迁移到基于浏览器的Web应用程序,通常通过使用CheerpJ将业务逻辑从Java转换为WebAssembly/JavaScript,并用原生HTML重写UI。3.使用(转换后的)Java库作为本机Web应用程序的一部分。在幕后,CheerpJ需要WebAssembly中的完整JavaSE运行时和存在于浏览器中的JavaScript,以及支持从Java访问和操作DOM的JavaScript/DOM互操作性API。相比之下,C++的Cheerp不需要这样的运行时,而是直接使用LLVM字节码格式作为目标文件和库的中间表示。它的特性如下:解析代码,发出最终的警告和错误,然后生成对输入程序进行编码的等效IR(=内部表示)。IR通过一系列转换优化为更紧凑和更高性能的IR。优化后的IR最终由代码生成为JavaScript和WebAssembly函数和变量的组合。或者简单地说:C++代码库->Cheerp(使用LLVM的优化)->JS+Wasm一旦生成了.js和.wasm文件,接下来就是为这两个静态文件提供服务,将它们嵌入到相关的HTML页面中,在库的API之上构建功能,并测试是否一切正常。主文件到被调用的仍然是一个.js文件,但是一个.wasm文件也被加载并从.js文件运行。虽然CheerpJ不是开源产品,但Cheerp现在是。在这一点上,重要的是要注意,从languageX到WebAssembly的工具现在可以证明更有用,因为WebAssembly最近摆脱了浏览器的限制,现在可以用于运行微服务和无服务函数,甚至可以运行Wasm二进制文件在命令行上,这样甚至可以开发跨平台的CLI应用程序。

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人