關於gcc on windows的「拒絕訪問」問題

2021-09-06 00:05:08 字數 1464 閱讀 4718

關於gcc on windows的「拒絕訪問」問題

周銀輝 

裝了個gcc on windows,本想可以爽一把,但不料:

開啟gcc所在目錄,發現gcc.exe只有56個位元組,咦,太小了吧,什麼東東哦,用ultraedit開啟:

注意到了嗎?這是乙個「symlink」 (符號鏈結,linux下鏈結的一種,還有一種是硬鏈結,這裡你可以把符號鏈結簡單地理解為windows下的「快捷方式」),呵呵,windows怎麼可能認識符號鏈結這種高階貨。

並且我們注意到這個符號鏈結是指向etc/alternatives/下的,說明其肯定是為了相容多個版本的gcc而搞的這麼個符號鏈結。

在gcc.exe所在的目錄下,發現了兩個shell指令碼(set-gcc-default-3.sh和set-gcc-default-4.sh),更是證明了這個觀點啊,開啟set-gcc-default-4.sh瞧瞧:

#!/bin/bash

#we only switch the alternatives that exist for both compilers;

#gdc, gpc, g77 and gfortran never get switched.

forx 

ingcc g

++gcj gnat ; do/

usr/

sbin

/alternatives 

--set $x/

usr/

bin/$x-

4.exe

done

なるほど ~~~

看到了嗎,gcc, g++, gcj,  gnat 都被對映到了對應的***-4版本

所以,解決方案就很容易得到啦:

1, 刪掉 gcc.exe, g++.exe, gcj.exe, gnat.exe 這四個東東,要著也沒用,windows不認識

2, 在相同目錄下,選擇你所需要的gcc,g++, gcj, gnat版本,我這裡選擇***-4版(其實我電腦上根本就沒-3版),所以我選中gcc-4.exe, g++-4.exe, gcj-4.exe, gnat-4.exe, 複製他們得到各個副本,並將副本重新命名為gcc.exe, g++.exe, gcj.exe, gnat.exe

3, 如果你電腦上有多個版本,並且某個時候又想切換到其他版本上去,那麼goto step 1 

注意:gcj和gnat不一定存在於你的電腦中,沒有的話,略過即可,其他的諸如abc.exe拒絕訪問的話,同理咯...

問題搞定:

關於this 的使用

如有不對的地方請大家指出,呵呵.this 的使用 1.this是指當前物件自己。當在乙個類中要明確指出使用物件自己的的變數或函式時就應該加上this引用。如下面這個例子中 public class a public static void main string args 執行結果 s hellow...

關於IT的我們

首先,對於廣大程式設計師,要先對程式設計師這個職業有個理性的認識。程式設計師不是什麼神聖的職業,這只是乙個普通的技術工種。我認為還算不上是it精英 當然精英的定位,每個人都有不一樣的標準 我個人認為,能自主發現問題,提出方案,構架程式結構的it人士才能算的上it精英。學會某種語言,了解某個領域的基本...

關於NSAutoReleasePool的理解

做iphone應用開發已經2年多了,但一些基礎的概念性問題只是大致了解,腦袋中有個模糊的概念.雖然對平時工作開發沒什麼影響,不過時間長了,心裡總是有點虛.所以從現在開始,每當我遇到乙個模糊概念的問題或topic,我都要寫一篇blog來記錄分析,響應之前在網上看過的乙個blog簽名 好記性不如爛部落格...