如何回避 EXPORT_SYMBOL_GPL

2023-10-10 06:38
文章标签 export symbol gpl 回避

本文主要是介绍如何回避 EXPORT_SYMBOL_GPL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

仅仅是一种回避的方式, 并不表明赞成这样去做,毕竟用了开源的东西却不开放自己的代码不是什么光彩的事。

办法参照:

In any case, GPL-only symbols can be easily circumvented by patching the kernel, falsely declaring a GPL-compatible license,

or by inserting a shim module which provides wider access to the symbols of interest.

http://lwn.net/Articles/154602/

第一点不清楚是怎么做的,一般GPL兼容的Licesne与GPL代码相混后都变成GPL的License.

第二点就是做个wrapper用于封装底层的GPL API, 而向上层提供非GPL的API.

这篇关于如何回避 EXPORT_SYMBOL_GPL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/178656

相关文章

关于 export HF_ENDPOINT=https://hf-mirror.com

# 使用 Hugging Face Hub 镜像:设置和应用场景 ## 引言 Hugging Face 是一个流行的机器学习模型托管平台,它提供了大量的预训练模型和易于使用的API。为了提高访问速度和降低延迟,Hugging Face 提供了镜像服务,用户可以通过设置环境变量 `HF_ENDPOINT` 来指定使用特定的镜像地址。本文将介绍如何设置 `HF_ENDPOINT` 环境变量,并探讨

duplicate symbol _OBJC_IVAR

今天该死的SVN又TMD出问题,update之后出现了下面这种问题: duplicate symbol _OBJC_IVAR_$_BDConversationCell._userNameLabel in: 某路径 该错误是一种链接错误,令人头疼的是Xcode不会直接定位到问题具体位置。 但其仍有一定的规律,大概是以下原因:   1.检查是否误导入了问题中类的 .m 文件; 报错:

JS中的【Symbol】全面讲解

1. 什么是 Symbol? Symbol 是 ES6 引入的一种新的原始数据类型(Primitive Data Type)。与 string、number、boolean、null 和 undefined 一样,Symbol 是不可变的原始值。Symbol 的特殊之处在于它是唯一的,即使两个 Symbol 的描述相同,它们的值也不相等。 2. Symbol 的创建 Symbol 通过 Sy

关于GDB运行时No symbol table is loaded. Use the “file“ command.的解决方法

最近有同学问GDB使用的问题,对此做一个整理。 首先,GDB已经报错file找不到了,那可以运行file test检测一下 (gdb) file testReading symbols from test...(no debugging symbols found)...done. 发现找不到可执行文件,所以问题应该在于编译时候没有加上ggdb3,重新编译一下 ty@ubuntu:

在Yolov8中model.export后self.export=false问题(记录)

遇到一个问题是自己创建了新的Detect检测头,但是在导出模型时,想要修改输出格式,在yolo中可以通过if self.export:来修改网络的返回值格式 当使用model.export()导出时,理论上会自动将export设置为True 但是在实际中发现export=false,于是通过调试发现在ultralytics/engine/exporter.py中 for m in model

代码开源许可证傻傻分不清 Apache MIT GPL的区别

https://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html

虚拟机MacOS安装Openssl ld: symbol(s) not found for architecture x86_64

最近开始搞MacOS下的开发,需要用到openssl,但是系统自带的openssl头文件还有库根本找不到,也不知道能不能用,于是就自己装一个 1.去网络上下载一个openssl的源码包 2.解压到自己有权限的目录下 3.在这一步,很多人用linux下的配置方法,我也是其中一个,踩了很大的坑,他们都是: sudo ./config --prefix=/usr/local/openssl 然

关于node中为什么会同时存在export,module.export

我估计很多人一开始学习的时候都会想为什么会同时存在export,module.export 关于这块我写过一篇浅显的原理文章跳转 这个主要就是作用域的原因,我举一个简单的例子 function a(b) {b = { "a": 1, "b": 2, "c": 3 };}let c = { d: {} };a(c.d);console.log(c); 结果c不变,这个就是个类似原理

idea仿eclipse的export导出功能

自从开发工具从eclipse切换到idea来之后,才知道什么叫做‘真香’。idea强大的扩展功能极大的拓展了他的可用性,最近有个功能就是通过idea的扩展插件搞定的。 事情是这样的,朋友使用eclipse时,在左边文件导航栏里面有个很方便的export的导出功能(下图1),这个功能可以导出附带文件路径的文件(下图2),在有时候复制替换文件的时候特别有用。但是偏偏在idea这个IDE里面就是没有。在

环境变量和export的命令--shell进程的变量可见域问题

export设置只对当前的bash登录session有效。这是存在内存里面的。 你可以写入文件一般的文件。之后source它。或者放到/etc/profile 等等的位置里,不同的地方效果不同。 Linux export命令 功能说明:设置或显示 环境变量。 语 法:export [-fnp][变量名称]=[变量设置值] 补充说明:在 shell中执行程序时,shell会提供一组