Tôi có trò chơi đa nền tảng được viết bằng C++. Trong phiên bản mac, mặc dù tôi không có bất kỳ mã obj-c nào, một trong những thư viện tôi sử dụng có vẻ là công cụ tự động phát hành và tôi bị rò rỉ bộ nhớ vì điều đó, vì tôi không tạo NSAutoreleasePool.Làm thế nào để tạo ra một NSAutoreleasePool mà không có Objective-C?
Điều tôi muốn là có thể tạo (và phá hủy) NSAutoreleasePool mà không sử dụng mã obj-c, vì vậy tôi không cần phải tạo tệp .m và thay đổi kịch bản xây dựng của tôi chỉ cho điều đó. Điều đó có thể không? Làm thế nào có thể được thực hiện?
OBS: Được gắn thẻ C và C++, vì giải pháp trong bất kỳ ngôn ngữ nào trong số đó sẽ thực hiện.
Sự cố của bạn có viết bất kỳ mã mục tiêu nào không? Hoặc có các tệp .m trong dự án của bạn khi bạn chỉ muốn .c/.cpp? – Sean
Lưu ý rằng trong khi mã của @ abarnert là giải pháp khả thi, điều này cho biết có lỗi trong thư viện. Không có hàm C hoặc C++ nào nên gọi vào mã ObjC mà không tạo ra một nhóm autorelease. Nếu đây là mã của Apple, bạn nên mở một radar tại bugreport.apple.com. –
@Sean Tôi chỉ muốn các tệp .c/.cpp. Tôi biết tôi có thể loại trừ các tệp đó sang các nền tảng khác, nhưng tôi đang cố tránh điều đó. – fbafelipe