① 我有一台 MacBook Air 想用來編程怎麼辦
MacBook Air 用來編程方法如下:
蘋果最新的操作系統Mac OS X內核其實是Unix(准確說是FreeBSD + Mach)。
然後大家都知道,Unix平台是很好的開發平台,支持有很多編程語言的:
C, C++, java, Perl, Python, Ruby, Unix Shell.....
現在安裝的是「Tiger」,默認安裝的時候,已經可以編譯java, perl等語言了。
要是需要編寫C/C++的程序,需要用安裝盤安裝Xcode(在第一張盤上)。
假設擁有一台裝了Mac OS X蘋果機
下面一步一步來看看怎麼用最簡單的Unix命令來編程的。
打開「Finder」-->「應用程序」-->「實用程序」,打開裡面的「終端」。
怎麼樣,看到一個像Windows下面Dos窗口的東西了吧?
我們就在這個窗口來開始我們的Unix編程之旅!
1 - 基本的Unix命令
要開始Unix編程,最基本的Unix命令還是需要了解的,不然寸步難行哦。
(1)ls:察看本目錄文件和目錄信息。
(2)rm:刪除文件,比如「rm a.txt」就是刪除「a.txt」這個文件。
(3)mkdir:新建目錄,比如「mkdir test」就是建立「test」這個目錄。
(4)cd:轉換目錄,比如「cd test」就是把當前目錄轉到「test」 。
Unix命令有很多,今天咱們就說這幾個吧,趕快在終端中試試~~
2 - 決定自己要使用的編程語言
編程語言那麼多,到底要學哪一個呢?哇,這個問題可大了,要說的話可能需要幾天了:)
這里簡單說一下自己的看法,初學的朋友可以做個參考:
要是不是計算機專業人士(就是不是靠編程吃飯的),建議可以學學Python或者Ruby。
它們都是比較容易上手的語言,而且符合現在「面向對象」的技術潮流,在國外很流行哦!
不要說沒聽說過它們哦,大名鼎鼎的「BT下載」就是用Python編寫的:)
要是想深入學習編程技術,那麼可以學習C或者C++,它們是系統級編程語言。
使用它們,可以十分徹底的控制計算機,但是學習的難度也相應比較大。
還有就是Java語言,現在很流行,難度介於上面兩種之間,也是很好的選擇。
3 - 使用文本編輯器
要編寫程序,總得有一個編寫程序的東西吧。使用哪個呢?
今天是來介紹「真正的」Unix編程的,所以介紹大家使用"vim".
在終端敲「vim」就進入了vim環境,不過和平常的編輯器不同,使用vim需要命令指揮。
下面是使用「vim」的大體步驟:
(1)按「i」,進入編輯狀態(不然什麼也輸不進去,哈哈:)
(2)完成文件編輯
(3)按「Esc」退出編輯狀態
(4)用「:w 文件名」保存文件(就是先按':'鍵,後面跟'w',然後跟要保存的文件名)
(5)按「:q」退出
4 - 開始編程
為了簡單起見,我們先使用ruby編程語言(我很喜歡它)做個例子:
(1)vim test.rb
&<60;上面的命令表示用vim開始一個叫test.rb的文件的編輯。
(2)按'i'進入編輯狀態,我們就寫一個語句,呵呵:
&<60;print "Hello, world!\n"
(3)按"Esc",然後按':'鍵,是否看到屏幕左下方有一個':'了,
&<60; &<60; 再按'wq',然後回車(現在已經保存文件並退出了vim)。
(4)OK,現在敲命令「ruby test.rb」是不是看見著名的「Hello, world!」了?
② iOS中如何編程獲取Mac地址
蘋果設備本來有個UDID號,可以實現這個目的。在iOS5.0以前,還有一uniqueIdentifier的API用來獲得這個number。不過iOS5之後,這個API廢除了。
一條路不通,換一條路走,於是MAC地址就成了一個不錯的選擇,蘋果沒有提供獲得MAC地址的API,不過使用sysctl還是可以有點辦法的,代碼如下:
#include <sys/types.h>
#include <sys/param.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <net/if.h>
#include <netinet/in.h>
#include <net/if_dl.h>
#include <sys/sysctl.h>
void GetMACAddress(unsigned char *mac)
{
int mib[6];
size_t len;
char *buf;
unsigned char *ptr;
struct if_msghdr *ifm;
struct sockaddr_dl *sdl;
mib[0] = CTL_NET;
mib[1] = AF_ROUTE;
mib[2] = 0;
mib[3] = AF_LINK;
mib[4] = NET_RT_IFLIST;
if ((mib[5] = if_nametoindex("en0")) == 0) {
printf("Error: if_nametoindex error/n");
return ;
}
if (sysctl(mib, 6, NULL, &len, NULL, 0) < 0) {
printf("Error: sysctl, take 1/n");
return ;
}
if ((buf = malloc(len)) == NULL) {
printf("Could not allocate memory. error!/n");
return ;
}
if (sysctl(mib, 6, buf, &len, NULL, 0) < 0) {
printf("Error: sysctl, take 2");
free(buf);
return ;
}
ifm = (struct if_msghdr *)buf;
sdl = (struct sockaddr_dl *)(ifm + 1);
ptr = (unsigned char *)LLADDR(sdl);
memcpy(mac,ptr, 6);
free(buf);
}
段代碼可以良好的工作,直到iOS7的出現。不知出於什麼原因,蘋果對於sysctl和ioctl進行了技術處理,讓MAC地址返回02:00:00:00:00:00。官方文檔上這樣寫的「Twolow-level networking APIs that used to return a MAC address now return thefixed value 02:00:00:00:00:00. The APIs in question are sysctl(NET_RT_IFLIST) andioctl(SIOCGIFCONF). Developers using the value of the MAC address should migrate toidentifiers such as -[UIDeviceidentifierForVendor].This change affects all apps running on iOS 7」
③ 如何在mac os x上寫C程序
1、打開Launchpad裡面的其他文件夾,打開終端。
④ mac自帶文本編輯可以編程嗎
mac自帶文本編輯不可以編程嗎
要使用air編程,
點擊啟動,點擊其他
點擊文本編輯,輸入代碼即可。
亦或者點擊終端,輸入【vim+文件類型】。
此時輸入代碼也可以進入編程。
或打開圖一編輯器,點擊file。
點擊newfiles,輸入代碼即可編程。