Linux C enum
/****************************************************************************
* Linux C enum
*
* 说明:
* 今天在查看Android源代码(development/tools/line_endings/line_endings.c)
* 的时候发现"enum { UNIX, DOS } ending;"语法从来没用过,挺惊讶的,于是自己写
* 个小demo测试一下具体情况,参考文章是Tony给出的。
*
* 2016-5-3 深圳 南山平山村 曾剑锋
* **************************************************************************/ 一、参考文档:
C枚举类型enum
http://blog.csdn.net/lqz1988/article/details/5747628 二、Demo:
#include <stdio.h> int main(int argc, char *argv) {
enum { UNIX, DOS } ending;
printf("%02x.\n", ending);
ending = DOS;
printf("%02x.\n", ending);
} 三、输出结果:
Press ENTER or type command to continue
.
. Press ENTER or type command to continue 四、推测:
enum { UNIX, DOS } ending;
相当于:
#define UNIX 0x00
#define DOS 0x01
unsigned int ending = UNIX; 五、应用场合:
enum { UNIX, DOS } ending;
语句中没有enum类型名,直接使用变量名,也就是说只能用一次,有点像匿名类的写法。
Linux C enum的更多相关文章
- linux下enum的使用
enum T { status1, status2, } Linux下: 1.做函数返回值时enum T f():不能写成T f(): 2.if(i == status1)不能写成 if(i == T ...
- Linux内存描述之内存区域zone--Linux内存管理(三)
1 内存管理域zone 为了支持NUMA模型,也即CPU对不同内存单元的访问时间可能不同,此时系统的物理内存被划分为几个节点(node), 一个node对应一个内存簇bank,即每个内存簇被认为是一个 ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- Linux内存描述之内存区域zone–Linux内存管理(三)
服务器体系与共享存储器架构 日期 内核版本 架构 作者 GitHub CSDN 2016-06-14 Linux-4.7 X86 & arm gatieme LinuxDeviceDriver ...
- 嵌入式Linux驱动学习之路(二十六)DM9000C网卡驱动程序
基于DM9000C的原厂代码修改dm9000c的驱动程序. 首先确认内存的基地址 iobase. 确定中断号码. 打开模块的初始化函数定义. 配置内存控制器的相应时序(结合DM9000C.C的手册). ...
- Linux CGroup之freezer分析与应用
Linux Kernel:4.4.17 CGroup的freezer子系统对于成批作业管理系统很有用,可以成批启动/停止任务,以达到及其资源的调度. freezer子系统也有助于针对运行一组任务设置检 ...
- Android/Linux下CGroup框架分析及其使用
1 cgroup介绍 CGroup是control group的简称,它为Linux kernel提供一种任务聚集和划分的机制,可以限制.记录.隔离进程组(process groups)所使用的资源( ...
- Linux 2.6内核中新的锁机制--RCU
转自:http://www.ibm.com/developerworks/cn/linux/l-rcu/ 一. 引言 众所周知,为了保护共享数据,需要一些同步机制,如自旋锁(spinlock),读写锁 ...
- linux网络编程
A: osi七层: 应用层 用 表示层 户 会话层 态 ************ ...
随机推荐
- c++ 原子操作
转载自: http://blog.csdn.net/yockie/article/details/8838686 所谓的原子操作,取的就是“原子是最小的.不可分割的最小个体”的意义,它表示在多个线程访 ...
- 本地虚拟机中匿名ftp上传文件失败的问题
在10.10.50.230中新建了一个匿名的ftp服务器,结果在10.10.50.241中上传文件时提示: local: README.txt remote: /var/ftp/pub/upload ...
- 在线最优化求解(Online Optimization)之三:FOBOS
在线最优化求解(Online Optimization)之三:FOBOS FOBOS (Forward-Backward Splitting)是由John Duchi和Yoram Singer提出的[ ...
- Linux下配置安装PHP环境
参考别人的做法,遇到问题上网查,下面就是安装步骤. 一.安装Apache2.2.221.到官网下载 http://httpd.apache.org/download.cgi 2.解压 t ...
- ubuntu下opencv 3.0和python2.7安装测试
1.安装opencv所需的库(编译器.必须库.可选库) sudo apt-get install build-essential sudo apt-get install cmake git libg ...
- iOS 委托和协议区别和联系
iOS上的协议类似于C#.Java上面的接口,他是从类中抽出来的一系列方法,但方法的实现是在实现这个协议的类中,任何实现这个协议的类都需要实现协议类中的@require方法: 委托是一种设计模式,是一 ...
- jsp自定义标签分析
jsp自定义标签的优势体现在于jsp页面上面减少了java代码. jsp自定义标签有三大部分组成,首先是类继承TagSupport,实现doStartTag方法. public int doStart ...
- Selenium如何使用自定义的Firefox配置文件?
一.自动保存文件 import os from selenium import webdriver fp = webdriver.FirefoxProfile() fp.set_preference( ...
- POJ 3579
Median Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3528 Accepted: 1001 Descriptio ...
- WAF安恒
http://wenku.baidu.com/view/c242927f581b6bd97e19ea1a.html?from=search