蘋果系統開發中的混合編程(1):Objective-C和C++的相互調用

来源:http://www.cnblogs.com/larlf/archive/2016/08/26/5810680.html
-Advertisement-
Play Games

首先是OC調用C++的代碼。 創建一個Objective-C的項目,並創建c++文件MyCppFile.hpp和MyCppFile.cpp。 把要調用Cpp代碼的文件名改成mm尾碼名,項目代碼的結構如下: 實現C++部分的代碼: MyCppFile.hpp MyCppFile.cpp 在main.m ...


首先是OC調用C++的代碼。   創建一個Objective-C的項目,並創建c++文件MyCppFile.hpp和MyCppFile.cpp。  

把要調用Cpp代碼的文件名改成mm尾碼名,項目代碼的結構如下:  

 

實現C++部分的代碼:   MyCppFile.hpp   MyCppFile.cpp   在main.mm里引入C++的頭文件就可以調用了:  

 

然後是C++調用OC   先創建OC相關的文件,然後把*.m修改為*.mm。  

 

頭文件用C的格式來進行編寫 MyOCFile.h

用OC編寫具體的實現。

  同樣,在C++里引入頭文件即可調用。  

 

OC和C++間的調用比想象中的要簡單,這裡的關鍵是要把OC的文件的擴展名修改為*.mm。

             
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • form 轉化為真正的數組 先說一下使用場景,在Js中,我們要經常操作DOM,比如獲取全部頁面的input標簽,並且找到類型為button的元素,然後給這個按鈕註冊一個點擊事件,我們可能會這樣操作; 這樣寫肯定是沒有問題的,但是我們知道很多操作數組的方法比for迴圈好用多了,比如es5的forEac ...
  • 概述 現在的開發工具基本都用AndroidStudio了。網上的開源框架也是。比如做瀑布式UI的StaggeredGridView,還有導航頁的PagerSlidingTabStrip等。 那麼電腦性能不好的,還在用eclipse怎麼使用這些開源框架呢? 步驟 準備工作 下載對應的框架如Stagge ...
  • UITextField游標消失 修改以下設置 改為 即可 ...
  • 1、重覆添加某個文件。解決辦法:搜索工程,刪除多餘的文件; 2、文件添加引用錯誤,即尾碼 .m 誤寫為 .h 。解決辦法:改正,編譯通過。 ...
  • Handoff簡介 Handoff是iOS 8 和 OS X v10.10中引入的功能,可以讓同一個用戶在多台設備間傳遞項目。In iOS 9 and OS X v10.11 支持了Spotlight中搜索並打開應用。 Handoff交互: 在iOS中這個user activity object是U ...
  • 蘋果提供的NSURLSessionDownloadTask雖然能實現斷點續傳,但是有些情況是無法處理的,比如程式強制退出或沒有調用 cancelByProducingResumeData取消方法,這時就無法斷點續傳了。 使用NSURLSession和NSURLSessionDataTask實現斷點續 ...
  • 隨著項目中動態鏈接庫越來越多,我們也遇到了很多奇怪的問題,比如只在某一種 OS 上會出現的 `java.lang.UnsatisfiedLinkError`,但是明明我們動態庫名稱沒錯,ABI 也沒錯,方法也能對應的上,而且還只出現在某一些機型上,搞的我們百思不得其解。為了找到出現千奇百怪問題的原因... ...
  • 最近一段時間,在網上不斷看了一些技術人員寫的代碼demo,由於前段時間一直在寫一個電商項目,記得有一個功能和看到的demo中類似,但是截然2種不同的處理方法,個人覺得我的這個方法更為簡潔一些,所以我把代碼中的這個簡單的小功能跟大家分享出來,希望對大家有幫助。 功能:實現類似於支付寶的提現密碼輸入功能 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...