gpt4 book ai didi

c++ - C/C++ - 对其他人隐藏 C 或 C++ 函数代码

转载 作者:太空宇宙 更新时间:2023-11-03 10:40:27 31 4
gpt4 key购买 nike

我有一个项目要编写一个函数来对某些数据执行某些操作。我可以用 C/C++ 编写代码,但我不想与雇主共享该函数的代码。相反,我只想让他有权在他自己的代码中调用该函数。是否可以?我想到了这两种方法 -

  • 在某个服务器上托管该功能(如果可能的话)并为雇主提供访问它的 URL。
  • 保护功能代码文件的密码(同样,如果可能的话)并且只允许访问以在代码中调用它。

请告诉我这些是否可行,并给我一个方法。

最佳答案

如上所述,您只需将代码分成头文件和源文件。然后,您的编译器会在您编译时生成目标文件;或共享对象。然后您可以将目标文件与头文件一起发送。唯一的缺点是您必须针对每个目标硬件架构进行编译。这是最简单的方法之一,即发送带有头文件的目标文件。

//file foo.h
void * foo(int );

和实现

//foo.c
#include "foo.h"
void * foo(int x)
{
//your code
};

用gcc编译

gcc -c foo.c -o foo.o

这些生成 foo.o。现在您可以将 foo.h 与 foo.o 一起发送,或者最好是一个由对象文件构成的共享对象。

现在您的客户可以使用您的代码只获取头文件和 .o 文件。

//file foouser.c 
#include "foo.h"
void * x = foo(2);

假设 foo.o 和 foo.h 在同一个目录下,

gcc foouser.c -lfoo -o fooser

将生成可执行文件 fooser。

共享对象版本有教程here以及一篇关于链接器和加载器的好文章 here

关于c++ - C/C++ - 对其他人隐藏 C 或 C++ 函数代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39483519/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com