• 2024-10-23cmake中link_directories()与link_libraried()全局性的理解
    在CMake中,link_directories()和link_libraries()是全局命令,这意味着它们的设置会影响之后在CMakeLists.txt文件中定义的所有目标(targets)。要深入理解这一点,下面将详细解释全局命令的作用范围、它们如何影响项目中的多个目标、以及为什么在现代CMake中更推荐使用
  • 2024-01-27静态库中单例不唯一的情况
    提出问题A作为共享库,封装了一个单例类,共享库B和共享库C使用A,D作为可执行程序,使用B和C,那么这个单例是否唯一?实验首先创建一个C++项目,项目结构如下.├──CMakeLists.txt├──MeyerSingleton.cpp├──MeyerSingleton.h├──testlib.cpp├──testlibheader1.cpp├
  • 2023-09-11OpenHarmony—应用间HSP开发指导
     应用间HSP用于不同应用间的代码、资源共享。 应用间HSP的宿主应用是一种特殊状态的应用,只能由一个HSP组成,不会独立运行在设备上,而是被普通应用模块的依赖项引用。当普通应用运行时,通过动态调用的方式使用应用间HSP提供的能力,从而实现应用自身所需要的功能。注意事项1. 应
  • 2023-07-21链接参数export dynamic和-rdynamic的使用
    存在程序main通过dlopen使用libA中的符号:main.c:1#include<stdio.h> 2#include<dlfcn.h> 3  4typedefvoid(*func)(void);  5  6  7voidtest_main() 8{ 9  return;10}11 12 13intmain()14{15  void*handle=dlopen("./libA.so",RTLD_N