問題時
我有一些半歲的C-程序我工作,並希望我能繼續工作現在在他們身上。之後,我確實安裝了Windows 10(64位),所以我認爲這可能會成爲一個問題,但從那以後,這些程序已經在Windows 10上運行。Cygwin的,錯誤使「不能得到PROC鎖」編譯和運行一個C程序
大約2個月前,我可以用make-file來構建並運行可執行文件,但是當我今天再次嘗試時,在我看來,似乎可執行文件沒有運行。我現在也嘗試更新cygwin和(我認爲)所有相關的軟件包。
我已經搜索了一下,如果有任何cygwin的重要變化,但我沒有真正找到任何東西。
詳細
當我嘗試運行任何程序沒有任何反應了很久,而在./executeables/helloworld.exe
線並最終產生錯誤:
$ make 1
gcc 1-helloworld.c -o ./executeables/helloworld.exe -lncurses
./executeables/helloworld.exe
0 [sig] make 7332 get_proc_lock: Couldn't acquire sync_proc_subproc for(5, 1), last 7, Win32 error 0
1324 [sig] make 7332 proc_subproc: couldn't get proc lock. what 5, val 1
在此之後,什麼也沒有發生,我甚至不能停止與ctrl+C
進程,所以我必須結束任務管理器「make.exe」(這足夠奇怪,由2個進程組成)。隨後,終端機說無非
makefile:2: recipe for target '1' failed
make: *** [1] Error 1
所以我猜有一個與得到一個互斥體或用於創建過程窗口鎖的問題,但我不知道爲什麼會發生這種事。
代碼
在此嘗試的例子使用的Hello World程序的代碼,但它是更復雜的程序一樣好。
#include <ncurses.h>
#include <string.h>
int main() {
char *message="Hello World";
int row,col;
int len = strlen(message);
initscr();
getmaxyx(stdscr, row, col); //screensize
mvprintw(row/2, (col-len)/2, "%s", message); //center of screen
getch();
refresh();
endwin();
return 0;
}
有沒有人見過這個問題?
謝謝,這真的是不明朗! – AltWouss
謝謝,也解決了我的問題(配置掛起)。我對avast中的cygwin64文件夾做了一個例外,並且能夠繼續。我能夠用ctrl-z讓進程進入睡眠狀態,並使用kill%n來終止這項工作。 – johnny