我想添加多線程的語言(BlitzBasic)不支持多線程或函數指針,而是從一個.dll獲取函數指針
語言的編譯器編譯成某種形式的不支持運行功能的C被編譯成本地代碼。它僅限於Windows。
到目前爲止,我的想法是在一個dll中創建一個函數,該函數將在BlitzBasic中調用。這個函數會檢查調用堆棧以找出調用堆棧的位置。然後它會分叉一個新線程並返回。新線程將等待一段時間(10ms左右),然後在BlitzBasic中函數被調用的位置恢復執行。在BlitzBasic中,你將不得不根據該延遲來控制執行的其餘部分(因此,第一個退出該函數的線程會設置一個變量,以告訴第二個線程執行一些不同的功能。)
我知道,多線程引入了很多其他的問題,但我會船到橋頭當我到達那裏。
有沒有找到一個函數的調用堆棧的執行點的方法嗎?