A. 學c語言用電腦編程,或運行相關編譯器等軟體,所用電腦必須用intel的處理器嗎
ss。一般ASP搭配Access,PHP搭配MySql。
PHP是比較古老的語言了,ASP也是五六年前很流行的,這兩年比較流行的是Java和Asp.net,不過學Java比較多人要,Asp.net開發起來會相對簡單一點,但現在Java也封裝得很好,有利於開發。關於學什麼,就自己興趣所在了。
我也是計算機專業的,雖然覺得不怎樣,但總算有過這幾年經驗。關於如何學一門語言,我認為,不要只看書,要看書然後動手,最好自己找個項目來做,做項目需要什麼,就看什麼,邊學邊做,這樣一來有興趣,二來可以學到東西。但是若一點都不懂的話項目也是做不下去的,所以呢,最好找兩本好一點的書,先瀏覽性過一遍,然後再相對較詳細的看一遍,這樣起碼對這門知識有點了解,以後做的時候找相應的知識也容易一點。
最後回答你的第一個和第二個問題:1.那些不用記下來,要看懂,要知道結構,比如If...else;for,while之類的,知道那些是表達什麼樣的結構。這些東西,邊用邊學慢慢就全知道了,背下來一點用都沒有。
2.不一樣的概念。這里的函數只是把一些經常用到的語句寫在一起,方便調用。這些慢慢體會。
個人經驗,回答完畢。
B. c++中的編譯器和預處理器有何不同
元代碼中,包含了兩個部分的內容,
一個是對機器有用的東西,
一個是對人有用的東西,比如
注釋。
預處理器就是
在編譯之前,把代碼整理一下,把一些沒用的東西,給處理掉。做好准備工作後,然後再編譯。
C. 高級編程語言也要編譯成匯編語言,不同的cpu匯編語言不一樣,那會編譯成那種匯編語言呢
高級語言一般最終不是編譯成匯編語言而是機器語言,而像C#這類語言編譯後為公共語言,不是機器碼,運行時公共語言代碼由NET框架負責進一步即時翻譯即時執行為機器指令。只有C++這類語言編譯後為CPU可以直接執行的機器碼。
附圖是VS2019中C++語言的一段調試時的反匯編窗口,其中白字是C++源代碼,下面是對應的匯編碼,匯編行左列為內存地址,中間是對應的機器指令和數據(內存中的實際值),右側是對應的匯編碼。
比如,定義整數變數a並賦值1的語句,被編譯器編譯成C7 45 F8 01 00 00 00 這樣幾個位元組,其中C7為匯編碼中的MOV指令,可以操作16位寄存器和內存以及立即數,45 F8 是當前命名空間中變數地址,即變數a的地址(F845),而01 00 00 00 為32位寬度的數值1(內存排列順序是前低後高)。也就是說機器語言的指令格式為:指令代碼,地址,數據,當然根據不同指令,有時候地址和數據是不需要的。而右側 MOV dword ptr[a],1 是指令助記符,也就是匯編指令,而用匯編指令編寫的程序也是需要編譯成機器指令的。
指令C7對應的匯編碼及含義
D. 是不是每種處理器都要開發自己的編譯器,比如inter的cpu,arm,51單片機等
每個處理器廠家都會開發本身的編譯器。這是硬體設計與系統工程師的工作。軟體編輯員一般都不需染手此東西。是否每個牌子的處理器都須有自己的編譯器呢?未必。
比如Intel,AMD,VIA 同是用x86平台都可享用Intel的編譯器。
又如Siemens, SGI,NEC 同出產MIPS平台的處理器都可享用MIPS 的編譯器。
但有些特別指令如INTEL的MMX,SSE1,2,3,4;AMD的3DNOW,AMD64 等就有勞個產家編寫。
如沒有特別指令編譯器, 軟體會出錯嗎?很多高檔程序編輯軟體都會翻譯及處理,用標准指令來取代特別指令(應該說不用特別指令),當然執行速度會慢過特別指令。
E. 編譯器是和cpu匹配的嗎不同的cpu使用不同的編譯器嗎
不僅和cpu匹配,還和操作系統匹配,但cpu之間有一定兼容性,比如x86-win的程序一般都能在x64-win上跑
F. 不同的CPU,匯編語言也不同
如果樓主只是針對一個系統(比如說微機系統)用匯編語言編程的話,其實基本不用考慮兼容性的問題
現在的CPU基本是INTEL的天下了,另外的一個能和INTEL較勁的CPU生產商AMD的CPU指令和INTEL也是基本兼容的,用匯編編程的時候注意一下就好了,那些不同CPU之間有出入的指令堅決不用,所以我說兼容性基本可以不用考慮
另外個人認為關於指令系統在以後必定會出現一個規范,以用於規范這些亂麻似的各種指令系統,就像IEEE,W3C等等.當然,也可能已經有了,這個我不太清楚
另外關於不同類型的CPU之間的源程序不能通用的問題個人認為有點像放屁.
拿單片機和微機的CPU舉例,這兩種CPU雖然都可以用C語言寫,但其實它們的編譯器是不一樣的(這個我不太確定),更重要的是單片機和微機的硬體是完全不一樣的,有時輸入系統可能就是一個電鍵,所以你甚至不能輸入一個字元.在這種情況下,你如果通過匯編來學習單片機,其實會更簡單,也會學的更深刻
最後需要強調的是,匯編語言重要的不是指令,而是編程思想,技巧和對各種硬體的控制,在真正需要匯編的地方其實不需要太大的編碼量(一般只在一些特別需要速度的地方嵌入匯編,其他地方還是用高級語言),所以就更不需要考慮兼容性了,反正就那麼一點,大不了重寫唄
最最後,我要說的是:
其實匯編不是用來寫程序的 - -
現在的CPU越來越快了,各種硬體也越來越牛,所以很多時候已經不需要用匯編來優化了.再說了,如果一個游戲或程序因為沒有優化而運行的不是很好的話,會刺激使用者去購買更高級的硬體,這樣會刺激硬體製造商生產更牛的硬體,這個雖然會使電腦使用者倒霉,但對計算機的未來還是有好處的(這個是在羅雲彬的書里看到的,intel和微軟就是用的這種方式)
【匯編是用來更深刻地理解其他高級語言的】
高級語言的某些知識如果通過匯編來思考的話,會很容易理解,你甚至可以把匯編當成是理解高級語言的工具,而且這個工具非常的牛
===========================================================
好了,以上就是我的觀點,可能會有一點偏激和若干錯誤,希望對樓主能有點用
G. 同一程序在不同處理器上CPI一樣嗎
關於這個問題,相同的CPU架構只是指程序運行的硬體是相同的,而軟體(操作系統、操作系統下生成的程序)是不一樣的,最後生成的針對硬體操作的機器語言也不一樣。生成的程序最後都要匯編成機器語言才能被運行,而機器語言在同一種架構下都可以用.但不能運行在不同架構的平台下。