我需要寫入匿名管道,例如double (*fun)(double)
,但以下WriteFile(pipe, fun, 4, written_bytes, 0)
會在管道接收器中造成錯誤,而ReadFile(read_pipe, fun, 4, written_bytes, 0)
。有沒有辦法做到這一點?如何將函數傳遞給匿名管道WinAPI?
我有個主意。我可以創建同一類型的字段一個struct:
struct Foo
{
double (*f)(double);
};
然後我把它寫WriteFile(hWritePipe_StdIN, &to_process, sizeof(Foo), &bytes, 0);
但我有問題,該管道接收器永遠不會結束讀取數據: ReadFile(hReadPipe, &to_process, sizeof(Foo), &bytes, 0);
只是可以肯定的。你想發送函數本身嗎?或者你想調用函數並傳遞結果? – StackedCrooked
@StackedCrooked第一個版本。我想發送函數本身。 – zerospiel