1. 程式人生 > >Linux編譯警告的解決辦法

Linux編譯警告的解決辦法



refer to:
我們已經知道,指標的值就是指標指向的地址,在32位程式中,指標的值其實是一個32位整數。那可不可以把一個整數當作指標的值直接賦給指標呢?就象下面的語句: 
unsigned int a; 
TYPE *ptr;//TYPE是int,char或結構型別等等型別。 
... 
... 
a=20345686; 
ptr=20345686;//我們的目的是要使指標ptr指向地址20345686(十進位制) 
ptr=a;//我們的目的是要使指標ptr指向地址20345686(十進位制) 
編譯一下吧。結果發現後面兩條語句全是錯的。那麼我們的目的就不能達到了嗎?不,還有辦法: 
unsigned int a; 
TYPE *ptr;//TYPE是int,char或結構型別等等型別。 
... 
... 
a=某個數,這個數必須代表一個合法的地址; 
ptr=(TYPE*)a;//呵呵,這就可以了。 
嚴格說來這裡的(TYPE*)和指標型別轉換中的(TYPE*)還不一樣。這裡的(TYPE*)的意思是把無符號整數a的值當作一個地址來看待。 
上面強調了a的值必須代表一個合法的地址,否則的話,在你使用ptr的時候,就會出現非法操作錯誤。 

相關推薦

Linux編譯警告解決辦法

refer to: 我們已經知道,指標的值就是指標指向的地址,在32位程式中,指標的值其實是一個32位整數。那可不可以把一個整數當作指標的值直接賦給指標呢?就象下面的語句:  unsigned int a;  TYPE *ptr;//TYPE是int,char或結構型別等等型別。  ...  ...

linux 中文亂碼解決辦法

fixed export 機器 dir amp vim亂碼 linux操作 簡單 str 就是從數據庫中取出來時,在存入linux的文件裏時,在字符流時制定編碼格式。代碼如下: FileOutputStream fos=new FileOutputStream(new F

虛擬機VMware安裝linux無法上網解決辦法

reference enter 沖浪 inux get watermark -s HR tis 虛擬機VMware安裝linux無法上網解決辦法 Linux網絡設置: 依次單擊【System】-->【Preferences】-->【Netw

wepy 編譯警告去除辦法

如果你用過wepy打包小程式的話,那麼你一定碰到了很多坑,(什麼也不用說,抱一下吧)下面記錄的是本人遇到的一個小坑, 編譯的時候出現了黃色警告 如果你出現了上圖這樣的話,相信你一定也知道什麼意思,就是你的xml出現了標籤不閉合的狀態,我這邊提供幾個思路當然我也是從網上搜了一下滴 嘿嘿 場景1

openssl編譯出錯解決辦法

./libcrypto.so: warning: gethostbyname is obsolescent, use getnameinfo() instead. ./libcrypto.so: undefined&nb

mongoose的 useNewUrlParser 警告解決辦法

報錯資訊如下      DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use

NodeJS | node3224錯誤:useNewUrlParser 警告解決辦法(七)

關於警告 DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { u

"No toolchains found in the NDK toolchains folder for ABI with prefix: mipsel-linux-android" 解決辦法

最近Android Studio升級了, 順便也升級了sdk版本, 但是升級過後編譯專案提示"No toolchains found in the NDK toolchains folder for ABI with prefix: mipsel-linux-android".  剛開

tomcat警告解決辦法:WARNING: An attempt was made to authenticate the locked user

系統是centos6,專案部署在tomcat7執行正常,但是一直提示以下警告資訊   Xml程式碼   org.apache.catalina.realm.LockOutRealm 

iOS9 上支付寶AlipaySDK編譯錯誤解決辦法

編譯的錯誤: ld: warning: directory not found for option ‘-L/Users/XXX/Downloads/ios’ ld: ‘/XXX/Common/ALiPay/AlipaySDK.framework/AlipaySDK’ do

linux 無 iptables解決辦法

檢查是否安裝了iptables service iptables status 安裝iptables yum install -y iptables 升級iptables yum update iptables 安裝iptables-se

linux tomcat 8005解決辦法

  啟動日誌: SEVERE: StandardServer.await: create[8005]: java.net.BindException: Cannot assign requested address at java.net.PlainSocketImpl.s

Eclipse Building Workspace 編譯解決辦法

   在svn下載的專案都會一般都會有一個 .project 的檔案,在匯入專案前將改檔案中的一些驗證屬性刪除掉    去掉Validator 相關的,  如:      <buildC

Git 字型警告 解決辦法

最近在使用GIT,不得不說這是一個非常不錯的工具,不論是對程式設計師還是其人(尤其是些公文、專案文件什麼的也是非常有用的)。 今天使用中不斷出現一段錯誤警告: Warning: Your console font probably doesn’t support Uni

IDEA 程式碼沒錯但是編譯出錯解決辦法

上午執行專案的時候突然編譯器崩了,找了半天原因終於找到了元凶, 因為專案是UTF-8格式,但是檢查.idea/encodings.xml是否對某些類指定了charset=gbk,如果有的話,刪除cha

lnk1104和lnk1181 編譯錯誤解決辦法

錯誤資訊:fatal error LNK1104: 無法開啟檔案“CAClient.lib” 原因和解決方法: 我在CAClient工程中設定CANetwork為其工程依賴項,在CANetwork中又連結CAClient.lib。結果是,VC首先編譯CAClient工程,編譯時,發現依賴項CANetwork,

在IAR上用變數來定義數陣列長度編譯出錯解決辦法

問題起因:     我在移植littlevGL到IAR的過程中,編譯出了下面的問題:      Error[Pe028]: expression must have a constant value     出現問題的地方是一個數組的定義: lv_color_t buf[

VS2008LINK : fatal error LNK1000: Internal error during IncrBuildImage編譯錯誤解決辦法

VS2008編譯程式時出現錯誤:VS2008LINK : fatal error LNK1000: Internal error during IncrBuildImage 解決辦法如下: 1、開啟專案的屬性對話方塊; 2、依次找到配置屬性->連結器; 3、

IDEA不能自動編譯解決辦法

IDEA中的  make project automatically 雖然勾選上,但是好像不起作用,下面這篇文章給出了好的辦法 https://my.oschina.net/fdblog/blog/172229 但是我實際操作後發現,沒有必要讓程式碼在按鍵盤Ctrl+S的時

Linux sudoers error解決辦法

修改/etc/sudoers檔案的時候修改出了問題,sudo怎麼也沒有辦法用啦,因為每次sudo都會去檢查/etc/sudoers。 >>> /etc/sudoers: synt