问题标签 [libobjc]

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 投票
2 回答
244 浏览

objective-c - Valgrind 使用 libobjc 显示泄漏的内存

试图找出我在这里缺少的东西。

在 CentOs5 上运行。

我把它归结为一个简单的简单程序,但最终还是会出现内存泄漏。不确定这是 Valgrind 中的错误还是 libobjc 中的错误。

主文件

我编译并将其与 gcc 链接

当我跑步时,valgrind main我得到了泄漏的内存

如果我不链接 libobjc(不使用 -lobjc),我不会出现内存泄漏。

想法?

0 投票
1 回答
247 浏览

objective-c - 为什么这个内联汇编在 libobjc 中调用 release、retain 和 autorelease?

下面的代码片段取自 Apple 的 ObjC 运行时 (libobjc) 源代码。我想知道这到底是什么意思。(不是很谷歌,抱歉)

更新:

这是对 bypass_msgSend_release() 的调用生成的内容:

0 投票
2 回答
15011 浏览

ios - iOS 崩溃 libobjc.A.dylib objc_msgSend

我在 Crashlytics 中遇到如下所示的崩溃。

我无法理解这是在应用程序中形成的。不幸的是,我自己从来没有能够产生这个崩溃,但它正在发生在野外。

应用程序名称只有一个引用,没有任何内容可以显示应用程序名称的来源。

是否没有关于应用程序中发生这种情况的数据的事实,是否表明在 didFinishLaunchingWithOptions 期间发生了问题,因此实际上还没有足够远来显示任何进一步的细节?还是有其他原因导致日志缺少数据来显示问题所在?

谁能告诉我如何能够追踪到这个?


我正在添加以下与此线程上的评论相关的内容。这段代码是与 UI 相关的主要更改,除了通常的标签设置等,我看不出有什么问题。

下面的代码已添加到 AppDelegate.m,DidFinishLaunchingWithOptions。

我想知道,因为崩溃不是我能够重现的东西,而且每天发生的情况只是在少数情况下,如果它可能是时间问题,并且 UI 无法接收消息。

我欢迎任何想法,如果您同意,我是否应该将代码移至 ViewController 中的 ViewDidLoad。

0 投票
0 回答
2423 浏览

objective-c - libobjc.A.dylib 崩溃了?我该如何调试?

线程 18 崩溃了。

UIWebViewmaybe load this url https://www.baidu.com/s?bundleid=com.baidu.BaiduHD&ie=utf-8&wd=%E5%9B%BD%E4%BA%A7psp4000&dsp=ipad&tn=SE_baiduipadhd2_22k1x757&rn=10&rsv_baiduhdpage=4&openudid=8ae020abea3190f77b90d055201d5886b5c03a29&hsug_mtype =0

这是日志信息的崩溃。我没有复制崩溃。你能给我一些关于如何调试的建议吗?

0 投票
1 回答
93 浏览

c - 如何在现代 OS X 版本上从 C 调用 objc_msgSend

我需要从 C 对 OS X 上的 objc_msgSend 进行一些相对简单的调用。这段代码可以正常工作id event_data = objc_msgSend((id) objc_getClass("NSEvent"), sel_registerName("eventWithCGEvent:"), event_ref);,但是,Apple 最近更改了函数签名void objc_msgSend(void);以解决一些问题。普遍的共识是,这应该用函数指针来解决,但是,如果没有一些关于“通过不兼容类型调用的函数”和“如果达到此代码,程序将中止。” 我的新函数指针实现看起来像id event_data = ((id (*)(id, SEL, CGEventRef)) objc_msgSend)((id) objc_getClass("NSEvent"), sel_registerName("eventWithCGEvent:"), event_ref);,但我担心警告。event_ref 变量是定义为的函数参数CGEventRef event_ref。有没有人有做这项工作的想法?

0 投票
1 回答
129 浏览

objective-c - libobjc:从普通 C 调用 ObjC 方法?

我目前正在尝试使用V 编程语言,并查看了一些我想尝试的有趣的东西。我想知道的一件事是,我是否可以在不编译单个.m文件的情况下从纯 C 调用 Objective-C 方法。

既然 Python 可以用 pyobjc 做到这一点,我想知道我是否可以让它在 V 中工作?

想象一下以下非常粗糙的代码:

现在,我知道objc_sendMsg我可以发送消息 - 但我如何首先创建正确的实例?