簡體   English   中英

從地址在C中構造一個指針

[英]Construct a Pointer in C from an address

不知道為什么我不能得到這個但是..

我最初從另一個處理器獲得一個指針的地址,並且需要一個指向該地址上的項的指針。 不必太擔心MPI_Recv,只要知道我正在從另一個處理器獲取信息即可。 所以我有:

MPI_Recv(&a, sizeof(int), MPI_INT, 0, 1, MPI_COMM_WORLD, &status);  

c = a;
printf("%d",c[0]);

為什么這會給我帶來細分錯誤? 在設置c = a之前,我也嘗試為c分配內存,它仍然會出現段錯誤。 有想法嗎? 我已經嘗試在網上尋找了很長時間,但找不到任何東西。 提前致謝

每個進程都有其自己單獨的虛擬地址空間 在另一個過程的上下文中,來自一個過程的指針毫無意義。

您有幾種選擇:

  1. 使用線程而不是進程。
  2. 使用共享內存
  3. 發送實際數據,而不僅僅是發送指針。

如果您的進程可以駐留在不同的計算機上,則只有最后一個選項才可行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM