void shuffle(deck_t *pdeck) { /* Keeps track of what numbers have been used */ int drawn[DECKSIZE] = {0}; int i;
/* One time initialization of rand */ if(0 == seed) { seed = time(NULL); srand(seed); } for(i = 0; i < DECKSIZE; i++) { int value = -1; do { value = rand() % DECKSIZE; } while(drawn[value] != 0);
本文大體介紹了編譯和調試C程序的方法。我們討論了編譯器走過的步驟,以及為了讓編譯器做這些工作應該給gcc傳遞哪些選項。我們簡述了有關連接共享函數庫的問題,最后介紹了調試器。真正了解你所從事的工作還需要付出許多努力,但我希望本文能讓你正確地起步。你可以在 gcc、 as 和 ld的 man 和 info page中找到更多的信息。