這篇文章主要介紹“如何使用C++生成動態(tài)鏈接庫”,在日常操作中,相信很多人在如何使用C++生成動態(tài)鏈接庫問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何使用C++生成動態(tài)鏈接庫”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
創(chuàng)新互聯(lián)公司是專業(yè)的揭東網(wǎng)站建設公司,揭東接單;提供網(wǎng)站建設、網(wǎng)站制作,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行揭東網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
這一步是是為了在 VS 2017上一套開發(fā),也可以使用其它工具開發(fā)C語言程序,甚至在 Linux 中使用 vim 編寫、編譯都行。
創(chuàng)建項目后,點擊屬性,選擇生成 .so
然后新建一個 test.cpp 文件,右鍵 - 新建項,C語言代碼如下
extern “C” {}
表示{}內的方法函數(shù)等可以為外部使用
extern "C" { int Sum(int a,int b) { return a + b; } }
右鍵-生成
然后會要求你添加一個 Linux 主機連接。這里其實加上了沒用,但vs必須要你加上才能生成、編譯,實際對我們后面的操作沒影響。
接下來,看圖操作
點擊菜單欄的生成-僅用于項目-僅鏈接xxx
然后下面下面輸出欄會報錯,不管他,再點擊項目-右鍵生成
之后會生成 .so 文件,復制.so文件,存放好
建立一個.NET Core 項目,把 .so 文件復制進去,記得 “始終復制”
新建一個類,類名不重要,主要的是方法名稱要一致,參數(shù)一致
頭部引入
using System.Runtime.InteropServices;
類的代碼如下
然后使用此類庫
public class Test { [DllImport("./libProject2.so",CallingConvention =CallingConvention.Cdecl)] public static extern int Sum(int a,int b); } class Program { static void Main(string[] args) { Console.WriteLine(Test.Sum(666,666)); while (true) { Console.WriteLine("輸入兩個數(shù),用空格隔開,如 666 666"); string[] vs = Console.ReadLine().Split(" "); int a = Convert.ToInt32(vs[0]); int b = Convert.ToInt32(vs[1]); Console.WriteLine(Test.Sum(a,b)); } } }
發(fā)布后打包到 Linux 中運行
到此,關于“如何使用C++生成動態(tài)鏈接庫”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
文章標題:如何使用C++生成動態(tài)鏈接庫
URL分享:http://weahome.cn/article/ieoigj.html