linkage相关内容

常规命名空间内匿名命名空间内的符号链接

在 C++ 中,将函数或变量放入匿名命名空间会使其内部链接,即.e.与在文件级别声明它 static 相同,但惯用 C++. 普通命名空间中的匿名命名空间呢?它仍然保证内部链接吗? //foo.cpp无效函数1(){//外部链接}静态无效 func2() {//内部链接}命名空间{无效 func3() {//内部链接}}命名空间 ns1 {无效 func4() {//外部链接}命名空间{无 ..
发布时间:2022-01-14 23:33:07 C/C++开发

保证C++库二进制兼容性的简单方法,C链接?

我不知道在 Windows 和 Linux 上保证 C++ 库的二进制兼容性的确切方法.但我认为,如果我使用 C 链接来制作所有公开的 API,我想我可以轻松地保证在 Windows 和 Linux 上的兼容性. 如下: extern "C" int SomeAPI(); 其余的函数肯定会用 C++ 编写.只有对外公开的 API 才会有 C 链接. 并且公开的 API 必须 ..
发布时间:2022-01-09 19:40:21 C/C++开发

C 中与 static 关键字的内部链接

我知道 static 是 C 中的一个重载关键字.在这里,我只对它作为关键字来强制执行内部链接感兴趣. 如果您在 .c 文件中声明了一个全局变量,使用 static 和不使用 static 有什么区别?无论哪种方式,没有其他 .c 文件可以访问该变量,因此该变量基本上对文件来说是“私有的",无论是否带有 static 关键字. 例如,如果我有一个文件 foo.c,并且我声明了一个全局变 ..
发布时间:2022-01-05 20:21:06 其他开发

确定 C 可执行文件名称

当我们编译 C 程序时,输出存储在 a.out 中.我们如何将编译后的输出重定向到另一个文件? 解决方案 大多数 C 编译器为此提供了 -o 选项,例如: gcc -o gentext gentext.ccc -o mainprog -Llib -lmymath firstbit.c secondbit.oxlc -o coredump coredump.c ..
发布时间:2022-01-04 21:51:24 其他开发

在应用程序包中添加符号链接

Apple 在 UILocalNotification 类参考中指定音频文件必须来自应用程序包.然而,一些聪明的极客通过使用: //这通过向上走包目录,然后指向文档目录来工作localNotif.soundName = @"../Documents/blabla.caf"; 此变通方法在 iOS 5 中运行良好,但在 iOS 6 中出现故障.为了尝试提出新的变通方法,我做了一个别名(符号链接) ..
发布时间:2021-12-28 20:12:09 移动开发

使用相对路径构建的 boost 库

我在 QNX 6.5.0 中构建了 boost 1.57.0.没有构建错误.但是一些库链接到 libboost_system.so 指定相对路径.我保存了编译日志.这是 boost_thread 的链接步骤: "QCC_gpp" -o "bin.v2/libs/thread/build/qcc/release/threading-multi/libboost_thread.so.1.57.0" ..
发布时间:2021-12-24 15:40:09 其他开发

为什么模板不能在 extern “C"中?块?

这是对是否可以对指针进行 typedef 的答案-to-extern-“C"-模板中的函数类型? 此代码无法使用 g++、Visual C/C++ 和 Comeau C/C++ 编译,错误消息基本相同: #include 外部“C"{静态 int do_stuff(int) {返回3;}模板结构测试{静态无效 fo ..
发布时间:2021-12-13 18:57:00 C/C++开发

extern“C"的作用是什么?在 C++ 中?

将 extern "C" 放入 C++ 代码中究竟有什么作用? 例如: extern "C" {无效的 foo();} 解决方案 extern "C" 使 C++ 中的函数名具有 C 链接(编译器不会破坏名称)以便客户端C 代码可以使用仅包含函数声明的 C 兼容头文件链接到(使用)您的函数.您的函数定义包含在二进制格式中(由您的 C++ 编译器编译),然后客户端 C 链接器将使用 C ..
发布时间:2021-12-01 14:42:46 C/C++开发

模板非类型参数

$14.3.2 - "... 非类型、非模板模板参数的模板参数应为: ...一个常量表达式 (5.19),用于指定具有静态存储持续时间和外部或内部链接的对象的地址或具有外部或内部链接的函数..." 在下面显示的代码中,我无法理解为什么不允许将“name2"和“name3"作为非类型模板参数.我在 Windows 上使用 gcc 4.7.2. 'name2' 和 'name3' 都 ..
发布时间:2021-11-17 05:40:41 C/C++开发

链接到 WinNLS

我应该使用什么静态库来链接以使用 NormalizeString() 函数? 与 MSDN 上记录的大多数函数相比,使用该函数所需的静态库并未声明.我尝试使用从 DLL 派生的名称:normaliz.lib 并成功链接,但随后在运行时出现一个弹出窗口,提示找不到 Normalization.dll在我的电脑上,该进程已关闭. 解决方案 Hans Passant 指出,正确的导入库是 ..
发布时间:2021-09-25 20:51:30 其他开发

java.lang.LinkageError: 加载器约束冲突先前为名称为“javax/xml/soap/SOAPMessage"的不同类型启动加载;

我是网络服务的新手.我正在尝试调用服务,但出现以下错误.根据我最初的谷歌搜索,这似乎是一个加载器问题,可能是由重复的 jars 引起的,但我无法找到是哪个导致了这个问题.非常感谢任何帮助. Caused by: java.lang.LinkageError: 加载器约束冲突:加载器(org/jboss/classloader/spi/base/BaseClassLoader 的实例)先前为名称为 ..
发布时间:2021-09-24 19:18:48 Java开发

依赖于同一个静态链接库的可执行文件和共享库

假设您正在开发一个共享库 libshared.so. 并且您有一个静态库 libstatic.a,其中包含您需要的一些内部类和功能.您想像这样将它链接到您的 .so: g++ -o libshared.so -shared myObj.o -lstatic 您还有一个 executable.sh 它将使用您的 .so 并在运行时动态打开它 dlopen(“libshared.so" ..
发布时间:2021-08-30 18:33:41 服务器开发

了解 C 中的静态变量声明/初始化

我的项目中只有一个名为 test.c 的文件;如果我没有定义“TRUE",下面的代码就不会编译.我用vc.我只是想了解这种行为.请对这方面有所了解. #ifdef TRUE静态 int a;静态 int a = 1;#别的静态 int a = 1;静态 int a;#万一int main (void){printf("%d\n", a);返回0;}-----------------------# ..
发布时间:2021-08-28 18:42:20 其他开发

如何检测二进制/库中未定义的符号?

是否有一种工具可以使用二进制文件(可执行文件)或库,并查看任何共享库依赖项,查找并列出任何未定义的符号(即使未使用它们)?找到这个的任何实用方法? 解决方案 如果使用 *nix,并且符号没有被剥离,使用 'nm' 会有所帮助. # nm lib-or-binary-nameu strcmp@@GLIBC_2.2.5 'U'表示未定义,如果某处满足,会在@之后注明. ..
发布时间:2021-07-23 20:20:01 其他开发

范围和链接有什么区别?

我尝试了不同的网站,但我不明白.你能用简单的英语解释一下吗? 解决方案 "scope" 是编译器的命名空间;“链接"是关于编译单元. 我再解释一下:在函数中声明的变量具有该函数的作用域,即它仅在该函数内可见.在源文件中声明为静态的变量只能由该源文件(以及所有包含的文件!)中的代码看到.变量也可以具有全局作用域:它们可以在源文件中引用,但不在该源文件中声明(分配),而是在另一个源文件中 ..
发布时间:2021-07-16 21:35:19 其他开发

内部链接和无链接的区别

请参考以下同一翻译单元中的代码: static int global_var;//C 中的文件作用域和 C++ 中的全局命名空间作用域//内部链接无效 f(无效){静态 int local_var;//C 中的块作用域和 C++ 中的局部作用域//没有链接} 我的理解是: 我可以在翻译单元的任何地方引用 global_var,因为它具有全局范围. 我只能在函数 f 中引用 loca ..
发布时间:2021-07-16 21:30:36 C/C++开发

R RecordLinkage 标识

我正在 R 中使用 RecordLinkage 库.我有一个包含 ID、姓名、电话、邮件的数据框 我的代码如下所示: ids = data$id对 = compare.dedup(data, identity=ids, blockfld=as.list(2,3,4)) 问题是我的 id 在我的结果输出中不一样所以如果我有这些数据: id 姓名 电话 邮件第233话 2222第435章 ..
发布时间:2021-07-05 18:56:43 其他开发

scipy.cluster.hierarchy:标签的顺序似乎不正确,并且被垂直轴的值弄糊涂了

我知道 scipy.cluster.hierarchy 专注于处理距离矩阵.但是现在我有了一个相似度矩阵……在我使用树状图绘制它之后,发生了一些奇怪的事情.代码如下: similarityMatrix = np.array(([1,0.75,0.75,0,0,0,0],[0.75,1,1,0.25,0,0,0],[0.75,1,1,0.25,0,0,0],[0,0.25,0.25,1,0.25, ..
发布时间:2021-06-01 19:25:27 其他开发

内联是否确定内部链接?

我正在尝试内联函数.我认为它应该如何工作: //a.cpp内联void f(int){}//b.cppextern void f(int);int main(){f(4);} 但是出现链接错误.然后通过阅读此(" 1),必须声明 inline .“).我尝试过的: //a.cpp内联void f(int){}//b.cppextern内联void f(int);int main(){f(4 ..
发布时间:2021-05-16 18:33:58 C/C++开发