网站及系统建设维护,页面预加载wordpress,网页与网站设计 什么是属性,天津智能网站建设找哪家1、在进行SoC开发时#xff0c;PS端的C/C代码可能涉及到核心算法需要移植操作#xff0c;为此#xff0c;本文讲述了如何将C/C代码打包为.a文件供程序调用
2、文章以我的程序为例#xff0c;逐步讲述代码生成静态链接库并调用的方法。
下面是我程序的目录结构#xff0c…1、在进行SoC开发时PS端的C/C代码可能涉及到核心算法需要移植操作为此本文讲述了如何将C/C代码打包为.a文件供程序调用
2、文章以我的程序为例逐步讲述代码生成静态链接库并调用的方法。
下面是我程序的目录结构Util调用了Eigen矩阵运算库。load_circuit_from_case调用了xilffsSD卡读取功能包以及Util。circuit_sim调用了load_circuit_from_case。emtp_start调用了circuit_sim。default_main调用了emtp_start以及output_data。其中load_circuit_from_case会形成基类circuit_sim形成派生类所以我的项目是C项目且是面向对象开发。 3、项目建立之初的选项。下面的三个选项至关重要请牢记。 4、新建静态链接库项目。
①在编写好C项目后无需关闭SDK界面直接在SDK界面新建静态链接库项目 ②第一个框选成静态库后面的三个框要与步骤3对应。点击Finish按钮。 ③将Util所调用的全部文件添加到Util/src文件夹下右键src点击Refresh按钮。 出现上述问题是因为没有将库引入右键Util ④按下键盘的CtrlB按钮在Util/Debug下会生成libUtil.a文件这个“libUtil”名称是自动生成的。 ⑤在Util/src下新建lib以及include文件夹将libUtil.a移动到lib文件夹中Util.h以及Eigen移动到include文件夹下。删除src中的Util.cc以及Util.h文件右键src点击Refresh按钮。 更改引用Util.h的写法为#include include/Util.h ⑥按下键盘的CtrlB按钮应当出现好多报错这是因为没有项目没有引用libUtil.a引起的。右键app_cpu0-C/C bulid settings需要进行如下设置。 双击右边的第一个蓝色文本会弹出一个提示框复制即可。然后点击绿色的加号右边红框写入-Wl,--start-group,-lUtil,-lgcc,-lc,-lstdc,--end-group 点击右边下边的第二个红框中的绿色按钮将app_cpu0/src/lib路径添加进去。 点击Ok按下键盘的CtrlB按钮会发现没有报错了
⑥重复步骤1、2新建circuit_sim项目不建立load_circuit_from_case的原因是这个文件调用了SD卡读取的xilffs库我一直没有测试成果所以我就认为凡是调用这个库的文件均不可生成静态链接库了。将circuit_sim用到的所有文件全部移动到项目中并重复之前的操作即可。
5、OK了你的代码被加密了别人看不到了.a文件几乎没有被破解的可能本文与下面的这篇文章配套观看加密效果最佳
C代码生成静态LIB链接库及其调用方法_发光的沙子的博客-CSDN博客9、将将b.cpp、b.h添加到项目中将a.lib以及a.h移动到项目中如果a.cpp调用了外部包需要将外部包也移动到b项目的目录下。2、假设有文件a.cpp、a.h、b.cpp、b.h以及main.cpp假设main调用了bb调用了a。6、将a.cpp、a.h添加到项目中点击生成解决方案。10、在b项目的b.h中之前的代码是只引用头文件现在将lib文件也添加进去即可一定要配置与a的平台一样前面为x86则现在b项目也改为x86。12、新建Main项目重复步骤4、5、9、10。https://blog.csdn.net/qq_37912811/article/details/132190372?spm1001.2014.3001.5502