原创 (10)從1開始寫一個操作系統

第十章 任務間同步和通信 Inter-Task Communication,任務間通信 多任務就會涉及到任務間共享資源的互斥操作和任務間通信。我們所需要完成的是能夠提供這些功能的函數,來讓用戶更好的實現任務間同步和通信。 我們將會實現互斥

原创 (8)從1開始寫一個操作系統

第八章 搶佔式概念 搶佔式內核:即當任務正在運行,有一個更高優先級的任務出現時,如果當前內核允許搶佔,則可以將當前任務掛起,執行優先級更高的任務。在我們上一章的基礎上我們已經做了這個工作。說白了就是在任務創建的時候進行了任務調度,已保證更

原创 一、搭建Android-NDK開發環境

目標:在android app中調用自己的c代碼,這個c代碼會以動態庫的形式存在,並且爲了表示更廣泛的使用場景,我們的c程序會使用第三方庫(openssl),這也是我們開發中經常用的方式。 功能:c代碼就是將openssl中的MD5直接封

原创 四、android studio使用自己庫編譯工程

這一篇要把我們之前做的庫和接口通過jni在android studio中給java調用。接口主要實現了字符串“123456”的MD5輸出。 源碼文件在https://download.csdn.net/download/andylaure

原创 【轉載】git如何部署公鑰

原作者:隔壁老樊啊 來源:簡書 公司換電腦之後,每次提交代碼到碼雲,都要輸入git賬號和密碼,那怎麼解決每次都要輸入的問題呢。我們可以部署一個公鑰。 碼雲提供了基於SSH協議的Git服務,在使用SSH協議訪問倉庫倉庫之前,需要先配置好賬戶

原创 Glib學習(28) gdbus最簡單的例子

官方文檔:https://developer.gnome.org/gio/ DBus的通信機制是Server-Client模式,Server需要提供一個XML(eg: cn.RTplay.Gdbus.Example.xml)文檔給Clie

原创 Glib學習(27) dbus編譯

最近想學習gdbus,gdbus是對dbus的一種封裝,能夠更好的使用dbus。DBUS是一種高級的進程間通信機制。DBUS支持進程間一對一和多對多的對等通信,在多對多的通訊時,需要後臺進程的角色去分轉消息,當一個進程發消息給另外一個進程

原创 Glib學習(26) meson編譯glib

glib源碼下載:http://ftp.gnome.org/pub/gnome/sources/glib/ glib幫助文檔:https://developer.gnome.org/glib/ 從2.59.1版本開始去掉了autoconf

原创 二、NDK交叉編譯openssl

1、創建開源模塊根目錄 mkdir AndroidWorkSpace/OpenSourceModule 2、openssl源碼 獲取openssl:https://www.openssl.org/source/ 我做這個的時候最新的是1.

原创 php與linux程序的消息隊列通信

概述 最近正在設計一些關於PHP與linux程序進行通信的工作,首先php和linux程序一般是不會運行在一個進程裏,這樣如果需要通信只能是跨進程實現。 這裏可以使用兩種方法,一種是用c語言分別實現通信接口,然後將其中一種編譯成php擴展

原创 php擴展php-nano的安裝與測試

官網 https://nanomsg.org/ 源碼下載 https://github.com/mkoppanen/php-nano 提前準備 你需要已經安裝了nanomsg的庫,php,和pkg-config,可能還有其他需要的東西,但

原创 (8)CMake入門筆記--CMake語法

參考地址: https://www.cnblogs.com/binbinjx/p/5626916.html https://blog.csdn.net/ajianyingxiaoqinghan/article/details/702309

原创 (7)CMake入門筆記--CMake官網教程

7. 添加對可視化網頁的支持 添加對將測試結果提交到可視化網頁的支持非常簡單。 我們已經在本教程的前面步驟中爲我們的項目定義了許多測試。 我們只需運行這些測試並將其提交到可視化網頁。 要可視化網頁的支持,我們在頂級CMakeLists.t

原创 beyond compare 4 的30天試用期已過-解決方法

原文鏈接:https://blog.csdn.net/Chify_w/article/details/92764707 轉載自:https://blog.csdn.net/Chify_w/art

原创 (9)CMake入門筆記--同時生成動態庫與靜態庫

在cmake中,同時生成靜態庫與動態庫的時候,需要一些技巧,因爲cmake中不能生成同名的靜態庫和動態庫,只能先生成不同名的庫之後再把其中一個庫的名字改名。 # 生成動態庫目標 add_library(MathFunctions SHA