① 我有一台 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,输入代码即可编程。