问题标签 [weak-linking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
107 浏览

c - 获取被覆盖的弱符号的地址

我的问题假设 x86 或 x86_64 的 gcc 或 clang。

假设我有以下文件:

如果我只编译weak.c:cc weak.c -o weak然后运行它,我会收到“我很弱”的消息。反过来,如果我编译并链接两者:cc weak.c not_weak.c我得到消息“我并不弱”。这是可以预料的。

我能以某种方式获得弱符号的地址吗?假设我想调用i_am_weakfrom weak.cfrom not_weak.c,类似于我在使用链接器标志时使用__real_i_am_weakfrom的方式。__wrap_i_am_weak--wrap

0 投票
1 回答
65 浏览

visual-c++ - 在 Visual Studio 中编译时出现编译错误 C2048,但在 clang++ 中可以正常工作吗?

我尝试使用 clang 编译器编译以下示例代码,它工作正常。

  • 编译器详细信息:Apple clang 版本 12.0.0 (clang-1200.0.32.28)
  • 目标:x86_64-apple-darwin20.1.0

但是,当我尝试在 Visual Studio 2019 或 g++ 中编译时,会出现编译错误。

错误 C2084:函数 'int printf(const char *const ,...)' 已经有一个主体

  • msvc编译失败的原因是什么?
  • 我怎样才能让它工作,我错过了什么?
0 投票
0 回答
191 浏览

swift - 为 iOS 10.3 编译,但模块“SwiftUICharts”的最低部署目标为 iOS 13.0

知道只有在 iOS 版本超过 iOS 13 的情况下我才能导入 SwiftUICharts 框架吗?我通过 File > Swift Package > add package dependency 添加了这个框架。我的应用目标必须是 iOS 10。

我将此框架导入到 swiftui 控制器中,该控制器只会显示目标是否超过 iOS 14,因此可以在那里使用它。但我不知道怎么做。在这种情况下,一个简单的 @available 不起作用。

在此处输入图像描述

编辑。这是我的代码:

分析新控制器:

根据 iOS 版本匹配正确控制器的 AnalyticsView 控制器:

0 投票
1 回答
733 浏览

xcode - dyld:未找到符号:___darwin_check_fd_set_overflow

当我在 XCode 12.4 目标设备 iOS 13.3 中构建我的应用程序时,它会在启动时崩溃,并显示以下错误消息。但工作正常的目标设备模拟器。

dyld:找不到符号:___darwin_check_fd_set_overflow 引用自:/private/var/containers/Bundle/Application/EBA2D824-6239-4E6A-BD10-1A3F945AECA3/MyAPP.app/MyAPP 预期在:/usr/lib/libSystem.B.dylib 中/private/var/containers/Bundle/Application/EBA2D824-6239-4E6A-BD10-1A3F945AECA3/MyAPP.app/MyAPP dyld:启动,加载依赖库DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Developer/usr/ lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib:/Developer/Library/PrivateFrameworks/GPUTools.framework/libglInterpose.dylib:/usr/ lib/libMTLCapture.dylib

崩溃可以通过与 libSystem.B.dylib 的弱链接来解决,但我只是想知道为什么会发生这种情况。任何线索表示赞赏