嵌入式linux 網絡喚醒,C語言實現wake on lan(網絡喚醒...-Windows系統下用命令行編譯C/C++...-字符串常量引起的思考_169IT.COM...

前一段時間在自學linux系統,想模仿linux命令行的方式在Windows下編譯C/C++程序,摸索一段時間后總算把這個解決了!

(1)先用記事本編寫如下所示的代碼,并另存為hello.cpp,假設其保存路徑為C:\Users\Administrator\Desktop。

#include

using namespace std;

int main()

{

cout<

return 0;

}

(2)用記事本寫一段簡單的批處理文件,內容如下所示,在保存文件時選擇另存為,文件名假設為batch.bat,bat是批處理文件的后綴,保存類型選擇:所有文件(這個尤其需要注意),假設其保存路徑也是C:\Users\Administrator\Desktop。

set path=D:\Softwares\en_Visual_Studio2010_Professional_x86_x16-81637\VC\bin

set include=D:\Softwares\en_Visual_Studio2010_Professional_x86_x16-81637\VC\include

set lib=D:\Softwares\en_Visual_Studio2010_Professional_x86_x16-81637\VC\lib

上面批處理文件的第一句話表示設置環境變量,這個也可以通過:計算機/屬性/高級系統設置/環境變量/用戶變量,D:\Softwares\en_Visual_Studio2010_Professional_x86_x16-81637\VC\bin放到path的值里去,記得與之前已有值之間用";"隔開。這個path文件夾是我們裝載VS2010時自帶的,在設置路徑時要根據自己的安裝路徑進行修改,里面包含微軟在Windows下給我們提供的C/C++編譯器cl.exe程序(編譯器自身也是一個軟件程序,只是它的作用是用來編譯其它的程序),當然還有link.exe鏈接程序,調用cl時,系統會自動調用link程序(后面將看到我們只用了cl命令就可以進行C/C++程序的編譯、鏈接)。后面兩句話分別表示包含C++中自帶的頭文件庫和靜態鏈接庫,靜態理解庫包含了頭文件中函數對應的實現部分,為了不讓人們看到其中的源代碼,它以二進制文件形式編碼,若要查看其內容需要進行反匯編。

(3)通過cmd命令進入DOS操作界面,輸入cd C:\Users\Administrator\Desktop進入cpp文件和bat批處理文件所在的位置,然后鍵入batch.bat進行批處理,這些操作在VS2010集成開發環境中都為我設置好了,所以我們在里面寫C/C++程序時并沒有這樣設置路徑的繁瑣操作,但是通過自己手動的路徑設置,我們會對程序的編譯、鏈接、執行有更加深入的認識。

(4)鍵入cl hello.cpp,我們會看到計算機報出了“無法啟動此程序,因為計算機中丟失mspdb100.dll。嘗試重新安裝該程序以解決此問題”的系統儲物,dll文件是動態鏈接庫文件,其是在cl.exe程序運行時才被加載進來的文件,這個靜態鏈接庫lib文件不同。這說明在D:\Softwares\en_Visual_Studio2010_Professional_x86_x16-81637\VC\bin路徑里沒有找到mspdb100.dll,原來此文件在文件夾D:\Softwares\en_Visual_Studio2010_Professional_x86_x16-81637\VC\Common7\IDE里,我們可以將此文件拷到bin文件夾里,或將D:\Softwares\en_Visual_Studio2010_Professional_x86_x16-81637\Common7\IDE加到批處理的path環境變量里,或者將其加到cpp文件所在的文件夾里,這只會引起在搜索順序上的不同。

(5)再次鍵入cl hello.cpp,我們看到在C:\Users\Administrator\Desktop文件夾里得到了hello.obj文件,這是編譯后的輸出文件,但是沒有得到可執行exe文件,DOS界面里出現這樣的錯誤“LINK:fatal error LNK1104:cannot open file 'kernel32.lib' “這樣的鏈接錯誤,kernel32.lib是Windows系統文件,通過Windows自帶的搜索工具,我們看到此文件在文件夾C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib里,我們可以將其加到cpp文件所在的文件夾或bin文件里。再次鍵入cl hello.cpp,我們發現這次程序被成功編譯鏈接了,cpp文件所在的文件夾里多了兩個文件:hello.obj和hello.exe。

(6)在DOS界面鍵入hello.exe,程序被執行,輸出了我們預想的hello world!,至此,在Windows下模擬linux命令行操作,編譯C/C++文件全部完成了。

本文鏈接

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530106.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530106.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530106.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux更新函數,linux系統不同對象升級方法詳細介紹

當我們使用Linux一段時間以后&#xff0c;自然不會滿足總是在沒有任何變化的系統中工作&#xff0c;而是渴望能象在Windows系統中一樣&#xff0c;不斷對自己的Linux進行升級。另一方面&#xff0c;Linux本身就是一個開放的系統&#xff0c;每天都會有新的軟件出現&#xff0c;…

linux7 3怎么修改mac地址,Ubuntu 16.04修改MAC地址以及網絡常用設置

1、先停止桌面版自帶的NetworkManager&#xff0c;這東西很難用&#xff0c;且有些設置需要重啟。sudo systemctl stop NetworkManager.servicesudo systemctl disable NetworkManager.service2、設置MAC地址在幫助文檔中應該找這個關鍵字&#xff1a;hardware address&#xf…

Linux刻錄光盤win10認不到,Win10無法讀取DVD光驅和刻錄光盤怎么辦 Win10不能讀取DVD光驅和刻錄光盤解決方法...

近來&#xff0c;有位win10系統用戶反映自己的電腦因為沒有安裝殺毒軟件&#xff0c;而使電腦中了病毒&#xff0c;導致自己的DVD光驅不能使用&#xff0c;出現了無法讀取光盤資料也無法刻錄光盤的問題&#xff0c;而且DVD光驅顯示的是CD驅動器。這該怎么辦呢&#xff1f;下面&…

linux查看文件位置命令bwd,linux 操作系統中find文件搜索命令的使用

文件搜索命令是:find命令所在路徑是&#xff1a;/bin/find執行權限&#xff1a;所有用戶語法&#xff1a;find [搜索范圍] [匹配條件]范例&#xff1a;find /etc -name init 這個是比較精準的要找文件的find /etc -name *init* 這個模糊的查找的&#xff0c;只有有init這幾個…

linux 定時執行攪拌,Linux上定時shell腳本

本文主要介紹在Linux系統上部署定時器&#xff0c;定時執行shell腳本&#xff0c;通過腳本執行sql文件sql文件-- 創建表create table if not exists iot_test.iot_tac(MSISDN string,TAC string)partitioned by(day string)row format delimitedfields terminated by \tlines t…

linux ubuntu安裝 mono,在 Ubuntu Server 上安裝配置 Mono 生產環境

在 Ubuntu Server 上安裝配置 Mono 生產環境在 Ubuntu Server 上安裝和配置 Apache2 &#xff0b; Mono 生產環境的記錄。 服務器環境是 Ubuntu Server 13.04 虛擬機模式 (Virtual Machine Mode)&#xff0c; 安裝的 Mono 的版本是 3.2.1 &#xff0c; 最終環境如下圖所示&…

c語言程序設計算機基礎知識,2018春C語言程序設計(合肥工業大學)

大家好&#xff01;歡迎你們&#xff01;無論是新同學還是老朋友&#xff0c;都非常高興能在這里和大家相聚&#xff01;我們一如既往還說C&#xff0c;因為它稱霸于計算機語言&#xff0c;超乎我們的想象。如果想深刻的理解這個時代&#xff0c;就要理解計算機編程! 編程完成了…

linux 修改ldap密碼,centos – ldap強制用戶更改密碼

我正在使用CentOS-ds(基于Redhat-DS和389目錄服務器).我有LDAP設置,并努力驗證用戶(和Sudo,這是一個方便的功能&#xff01;).甚至passwd也很好地改變了存儲在Ldap中的密碼.但是,我有一個小問題.登錄服務器后,如何強制所有用戶帳戶創建新密碼&#xff1f;我會這樣做的正常方式&…

c語言之函數存儲屬性,C語言:鏈接屬性與存儲類型

一、 鏈接屬性C語言中鏈接屬性決定如何處理在不同文件中出現的標示符。標示符的作用域與它的鏈接屬性有關&#xff0c;但這兩個屬性并不相同。鏈接屬性有3種&#xff1a; external(外部)&#xff0c;internal(內部) 和 none(無)。1. none: 沒有鏈接的標示符&#xff0c;總是被當…

c語言 malloc 源碼詳解,dlmalloc源碼剖析之:mALLOc

/*如果你使用linux, douglea malloc已經默認作為glibc的malloc,新的版本可能用的是ptmalloc(dlmalloc的多線程版本)如果你用的bsd4.2及以前系統libc用的kingsley的malloc;BSD(包括freebsd,netbsd,openbsd)4.2以后版本libc用的是PHKmalloc;如果你用的windows系統用的是microsoft…

數數C語言,(舊)子數涵數·C語言——讓C幫你做計算

之前&#xff0c;我們學過了我們的第一個C程序——hello World。現在開始進一步學習&#xff0c;想一想如何讓C幫你做計算。我們先來看代碼(我沒有新建&#xff0c;還是用之前的hello world.cpp)&#xff1a;好&#xff0c;因為之前在hello World的時候就已經學過了C的基本框架…

求10 翻譯c語言,求助:誰能幫我翻譯下最基礎的C語言,我是新手,謝謝了!

main(){int i,j,p,q,s,n,a[11]{127,3,6,28,54,68,87,105,162,18};/*定義i,j,q,p,s,n和a[11]&#xff0c;并對a數組賦值*/for(i0;i<10;i){pi;qa[i];/* 用p存儲i的數值&#xff0c;也就是記住數組的下標。用q記錄a[i]的數值&#xff0c;用作比較 */for(ji1;j<10;j)if(qif(p…

c語言之優先級 結合性與自增運算,C語言之優先級、結合性與自增運算

優先級、結合性這些概念在初學的時候并沒有放在心上&#xff0c;今天又碰到這個問題&#xff0c;查了不少資料&#xff0c;再次做個總結。在標準C語言的文檔里&#xff0c;對操作符的結合性并沒有做出非常清楚的解釋。一個滿分的回答是&#xff1a;它是仲裁者&#xff0c;在幾個…

android設置輸入框輸入字符限制,Android EditText限制輸入字符的方法總結

Android EditText限制輸入字符的方法總結最近項目要求限制密碼輸入的字符類型&#xff0c; 例如不能輸入中文。 現在總結一下EditText的各種實現方式&#xff0c; 以比較各種方法的優劣。第一種方式&#xff1a; 設置EditText的inputType屬性&#xff0c;可以通過xml或者Ja…

android動態改變菜單欄,Android動態設置主題(使用RxBus模式)

之前寫過一篇文章&#xff1a;RxBus的實現及簡單使用。今天我們嘗試使用RxBus動態切換主題。一、定義主題顏色color.xml#F44336#D32F2F#F44336#E91E63#C2185B#E91E63#795548#5D4037#795548#2196F3#1976D2#2196F3#607D8B#455A64#607D8B#FFEB3B#FBC02D#FFEB3B#673AB7#512DA8#673A…

android 圖片分析,Android圖片處理實例分析

本文實例講述了Android圖片處理的方法。分享給大家供大家參考&#xff0c;具體如下&#xff1a;package cn.szbw.util;import Android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.…

android開發按鈕顏色,Android編程實現簡單設置按鈕顏色的方法

本文實例講述了Android編程實現簡單設置按鈕顏色的方法。分享給大家供大家參考&#xff0c;具體如下&#xff1a;1.工程目錄a.在res目錄-新建drawble文件夾放入自定義圖片2.main.xmlandroid:orientation"vertical"android:layout_width"fill_parent"androi…

艾默生變頻器ev1000故障代碼_國產變頻器型號大全,梳理國產變頻的前世今生!...

在工控領域&#xff0c;變頻器已經廣為所知且應用范圍廣泛&#xff0c;各方對變頻器能給出形形色色的描述。維基百科給出的定義&#xff1a;“變頻器(variable frequency drive&#xff0c;常見縮寫VFD)&#xff0c;也稱為變頻驅動器或驅動控制器。變頻器是可調速驅動系統的一種…

android音樂播放器案例,Android MediaPlayer實現音樂播放器實例代碼

Android MediaPlayer實現音樂播放器1、布局文件android:layout_width"fill_parent"android:layout_height"fill_parent"android:orientation"vertical" >android:id"id/hint"android:layout_width"wrap_content"android:…

單邊指數信號的特點_今日股市分析:上證指數若能守住3400,蓄力反彈就有戲...

昨日整體概況上漲&#xff1a;848只 下跌&#xff1a;3009只漲停&#xff1a;69只 跌停&#xff1a;12只昨天的上證指數低開低走&#xff0c;午后沖紅又回落&#xff0c;另一邊的創業板卻是單邊下行跌超3%&#xff0c;板塊方向農業、洪水概念股、還有電力板塊較強。按照昨日置頂…