幫助編寫兩個程序之間通訊的 C 示例

發布 科技 2024-08-14
10個回答
  1. 匿名使用者2024-02-01

    如果是零或一,就會有更多的方法。

    第一種是通過設定共享部分的公共 dll;

    其次,通過記憶體對映、管道、套接字、登錄檔或檔案等,替代點還可以通過公共視窗的 gwl userdata 模擬不常用鍵盤鍵的狀態。

    再次,我推薦使用該方法,設定乙個手動重置全域性命名事件,同意訊號為1,無訊號為0,乙個程序通過setevent和resetevent設定事件的訊號,另乙個程序開啟命名物件,等待時間通過waitforsingleobject傳遞0來檢測時間狀態, 如果有訊號,它會立即返回等待物件 0,如果沒有訊號,它會立即返回等待超時。我認為這種方法比上述集中方法最可行,也最快捷。

    希望以上資訊對您有用。

  2. 匿名使用者2024-01-31

    寫入硬碟的方法當然不好。

    程序之間的通訊方式有很多種,常見的有:共享記憶體、管道、套接字和訊號。

    我其實用過管道、插座、訊號,從來沒用過共享記憶體,所以我什麼都沒說,反正書裡寫的。

    目前看來socket的方法比較好,我的工作很雜,可能涉及到VXWawls、Linux、Windows,流水線和訊號相容性不好,移植很麻煩,socket寫,只要用標準**,貼上副本就可以了,還可以隨時改成多機程序間通訊, 我個人推薦插座方案,根據您的實際需求選擇一種。

  3. 匿名使用者2024-01-30

    如果你以前學過套接字,你可以使用套接字,但如果你以前沒有接觸過它們,你需要幾天的時間才能弄清楚它們。

  4. 匿名使用者2024-01-29

    可以參考 Windows 核心程式設計指南,在可執行檔案或 DLL 的多個例項之間共享靜態資料。

  5. 匿名使用者2024-01-28

    在網際網絡上不難找到一堆例子,比如csdn

  6. 匿名使用者2024-01-27

    程序還是執行緒?

    執行緒很簡單,只需共享變數或佇列即可。

    對於程序,除了命名管道外,還可以使用套接字共享記憶體,對於小資料可以使用UDP協議,這很容易實現。

  7. 匿名使用者2024-01-26

    似乎不允許程序之間的直接通訊,這是不安全的。

    執行緒之間。

    程序之間的通訊基於協議介面。

  8. 匿名使用者2024-01-25

    不幸的是,Malloc 的內部資料結構很容易被破壞,由此產生的問題可能很棘手。 最常見的問題是向 malloc 分配的區域寫入的資料多於分配的資料; 乙個常見的錯誤是使用 malloc(strlen(s)) 而不是 strlen(s) +1。 其他問題包括使用指向已釋放記憶體的指標、釋放未從 malloc 獲取的記憶體、釋放同一指標兩次或嘗試重新分配空指標。

  9. 匿名使用者2024-01-24

    另乙個軟體當資料儲存在**? 您需要弄清楚的就是如何與另一台計算機取得聯絡。

    可以使用伺服器來做中繼,類似於QQ,這意味著您需要登入伺服器才能使用該軟體。

    然後,當兩台計算機上的軟體登入到伺服器時,可以通過伺服器交換資料。

    還有使用套接字的方法,但需要手動填寫對方電腦的IP和埠,然後再使用套接字通訊。

  10. 匿名使用者2024-01-23

    1.為另一台計算機 A 編寫乙個名為 server2 的工具為您的計算機 b 編寫乙個名為 client3 的工具兩者通過套接字相互通訊。

    向計算機 A 傳送請求,伺服器收到請求後進行處理,並將資料返回給客戶端

    接收到的資料將被處理並儲存。

相關回答
8個回答2024-08-14

當多個執行緒訪問獨佔共享資源時,可以使用 Critical Zone 物件。 任何時候只能有乙個執行緒有乙個臨界區域物件,具有臨界區域的執行緒可以訪問受保護的資源或段,其他想要進入臨界區域的執行緒將被暫停並等待,直到具有臨界區域的執行緒放棄臨界區域,從而保證沒有多個執行緒同時訪問共享資源。 >>>More

5個回答2024-08-14

您的意思是 ls -l 內容重新打包?

17個回答2024-08-14

朋友,這是您的計算機“丟失”或“錯誤地刪除”了“系統檔案”,或者“系統檔案”放錯了地方。 >>>More

7個回答2024-08-14

#include

void main() >>>More

14個回答2024-08-14

轉到 C:Windows System32 並將它們全部刪除。 2. >>>More