#include <stdio.h>
#include <string.h> typedef unsigned char lu_byte; #define CommonHeader struct GCObject *next; lu_byte tt; lu_byte marked
#define CommonHeader1 {struct GCObject *next; lu_byte tt; lu_byte marked}GCObject1 /* Common type for all collectable objects */
typedef struct GCObject {
CommonHeader;
} GCObject; typedef struct GCObject1 CommonHeader1; #define M(A) A.marked #define P(A) printf("颜值:%d\n",A.marked) int main() {
GCObject allgc;
memset(&allgc,0,sizeof(struct GCObject));
allgc.marked = 0xF7; //247
printf("颜值:%d\n",allgc.marked);
printf("颜值:%d\n",M(allgc));
//L = G(L)->mainthread;
printf("------\n");
P(allgc); printf("*******\n");
GCObject1 allgc1;
memset(&allgc1,0,sizeof(struct GCObject1));
allgc1.marked = 0xF8; //248
P(allgc1);
return 0;
}

 

 结果

颜值:247
颜值:247
------
颜值:247
*******
颜值:248

  

#define 设计的精巧的更多相关文章

  1. Bootstrap响应式栅格系统的设计原理

    1.历史背景 Bootstrap是Twitter的工程师Mark Otto和Jacob Thornton开发的一套供内部使用的UI框架,于2011年开源.2012年发布的第二版中新增了12列栅格系统和 ...

  2. libevent源码深度剖析

    原文地址: http://blog.csdn.net/sparkliang/article/details/4957667 第一章 1,前言 Libevent是一个轻量级的开源高性能网络库,使用者众多 ...

  3. 《白手起家Win32SDK应用程序》(完整版+目录)

    <白手起家Win32SDK应用程序> 目 录 <白手起家Win32SDK应用程序> 第一篇.预备知识 第二篇.创建Win32工程和主函数 第三篇.增加一个回调函数 第四篇.注册 ...

  4. 迷你MVVM框架 avalonjs 学习教程19、avalon历史回顾

    avalon最早发布于2012.09.15,当时还只是mass Framework的一个模块,当时为了解决视图与JS代码的分耦,参考knockout开发出来. 它的依赖收集机制,视图扫描,绑定的命名d ...

  5. libevent(了解)

    1 前言 Libevent是一个轻量级的开源高性能网络库,使用者众多,研究者更甚,相关文章也不少.写这一系列文章的用意在于,一则分享心得:二则对libevent代码和设计思想做系统的.更深层次的分析, ...

  6. Linux signal 那些事儿(4)信号的deliver顺序【转】

    转自:http://blog.chinaunix.net/uid-24774106-id-4084864.html 上一篇博文提到了,如果同时有多个不同的信号处于挂起状态,kernel如何选择deli ...

  7. Win32SDK应用程序

    转自:https://blog.csdn.net/jxf_ioriyagami/article/details/1486626 1 说在前面    由于VC6及MFC的特点,我们许多人从标准C++学习 ...

  8. 菜鸟nginx源码剖析数据结构篇(二) 双向链表ngx_queue_t[转]

    nginx源码剖析数据结构篇(二) 双向链表ngx_queue_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csdn. ...

  9. libevent 源码分析

    1,前言 Libevent是一个轻量级的开源高性能网络库,使用者众多,研究者更甚,相关文章也不少.写这一系列文章的用意在于,一则分享心得:二则对libevent代码和设计思想做系统的.更深层次的分析, ...

  10. 【腾讯Bugly干货分享】Android Patch 方案与持续交付

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57a31921ac3a1fb613dd40f3 Android 不仅系统版本众多 ...

随机推荐

  1. Pycomcad快速绘制参数化多段线的一种方法

    任务: 绘制出不同长度的相同型式的多段线,如上图所示,仅仅是300mm和500mm的区别,3个弯折处都一样,都是圆弧段,对于常规二次开发思路,是通过数学计算,计算出圆弧的圆心的位置,用固定的半径,绘制 ...

  2. 京东首页html+css1.0

    小菜鸟的学习记录,还望各位猿兄不吝赐教 文章目录 效果图 源码 HTML文件 css文件 效果图 源码 HTML文件 <!DOCTYPE html> <html> <he ...

  3. C#网络编程(五)----细嗦TCP粘包

    前情提要 四层网络模型各司其职,消息(SDU)在进入每一层时都会多加一个报头(PCI),这个PCI记录着该SDU的一些关键统计信息.SDU+PCI合并起来就组成一个完整的消息,简称为PDU 链路层:帧 ...

  4. MongoDB索引优化的艺术:从基础原理到性能调优

    title: MongoDB索引优化的艺术:从基础原理到性能调优实战 date: 2025/05/21 18:08:22 updated: 2025/05/21 18:08:22 author: cm ...

  5. Qt图像处理技术三:图片亮度与对比度处理

    Qt图像处理技术三:图片亮度和对比度处理 github地址 实战应用项目: github :https://github.com/dependon/simple-image-filter //纯qt图 ...

  6. Innosetup 安装 VC_redist 运行时库

    #普通安装vc_redis.x86.exe(会提示用户做出选择),在innosetup的[Run]属性中添加下面这一行 Filename: "{app}VC_redist.x86.exe&q ...

  7. Web前端入门第 63 问:JavaScript 图解 for 循环执行顺序

    神奇的 for 循环代码执行顺序并不是按照代码书写顺序执行,这就导致在看很多程序算法的时候,会有那么一点打脑壳. for 语法 for 循环的语法很简单,重点是小括号里面的三个部分,这三部分的执行顺序 ...

  8. opencv检测黑色轮廓(矩形)

    opencv检测黑色轮廓: import cv2 import numpy as np class ShapeDetector: def __init__(self, image_path): sel ...

  9. 【一步步开发AI运动APP】十、微调优化内置运动分析器,灵活适配不同的应用场景

    之前我们为您分享了[一步步开发AI运动小程序]开发系列博文,通过该系列博文,很多开发者开发出了很多精美的AI健身.线上运动赛事.AI学生体测.美体.康复锻炼等应用场景的AI运动小程序:为了帮助开发者继 ...

  10. [原创]《C#高级GDI+实战:从零开发一个流程图》第03章:画一个线,连接两个矩形!

    一.前言 上一节我们实现了多个不同颜色的可拖动的矩形,那么这一节就来看一下如何将这些矩形连起来吧. 相信看完的你,一定会有所收获! 本文地址:https://www.cnblogs.com/lesli ...