很简单 写这么几句代码

1 #include <pthread.h>
2
3 PTHREAD_MUTEX_INITIALIZER

cpp 一解析就出来了

1714 # 238 "/usr/include/pthread.h" 3 4
1715 int pthread_suspend (pthread_t);
1716 int pthread_continue (pthread_t);
1717 # 2 "main.c" 2
1718
1719 (pthread_mutex_t)19

当然这么野蛮的方法我是没有必要浪费时间记录的 我要的是用代码把这类宏的原型打印出来!

7 #define T(x) printf(#x " -> %s\n", strerror(x));      // pthread函数除pthread_exit()不返回之外, 其它函数都返回错误码, 这个宏打印这些函数的错误字符串
8 #define RESOLVE(x) TEXT(x)   // 首先扩展x, 再转化为字符串
9 #define TEXT(x) #x                 // #和##的用途还要用说?  #把x用""包裹起来, 同时帮你把x中的"用\"代替, 变成常量字符串字面值, ##有两个用法, 用来粘贴变量, 或使可变宏参数接受0个可变参数

15         printf("%s\n", RESOLVE(PTHREAD_MUTEX_INITIALIZER));

15         printf("%s\n", RESOLVE(__FILE__));

然后就是喜闻乐见的结果显示在我闪亮的终端:

(pthread_mutex_t)19

"main.c"

看看cpp预处理

printf("pthread_join(th, &r)" " -> %s\n", strerror(pthread_join(th, &r)));;

printf("%s\n", "(pthread_mutex_t)19");

printf("%s\n", "\"main.c\"");

我是怎么知道 PTHREAD_MUTEX_INITIALIZER 是什么鬼东西的 ??的更多相关文章

  1. CTF---Web入门第一题 what a fuck!这是什么鬼东西?

    what a fuck!这是什么鬼东西?分值:10 来源: DUTCTF 难度:易 参与人数:7942人 Get Flag:3358人 答题人数:3475人 解题通过率:97% what a fuck ...

  2. what a fuck!这是什么鬼东西?

    Topic Link http://ctf5.shiyanbar.com/DUTCTF/1.html 1) 打开链接发现一片看不懂的东西,还真是WTF? 2)分析发现是Jother编码 将其放到浏览器 ...

  3. 实验吧—Web——WP之 what a fuck!这是什么鬼东西?

    打开链接——> 发现是一大堆符号,可能有些人见过这些样子的,这是一种编码方式,叫:jother编码 jother编码是一种运用于javasscript语言中利用少量字符构造精简的匿名函数方法,对 ...

  4. 实验吧web-易-what a fuck!这是什么鬼东西?

    打开链接是一大串符号,是js编码的一种,全部复制下来,粘贴在控制台中回车就拿到flag了.

  5. 实验吧[WEB]——what a fuck!这是什么鬼东西?

    解题链接:http://ctf5.shiyanbar.com/DUTCTF/1.html 原题链接:http://www.shiyanbar.com/ctf/56 解题必看: 的jother编码定义: ...

  6. .NET程序员细数Oracle与众不同的那些奇葩点

    扯淡 距上次接触 Oracle 数据库已经是 N 年前的事了,Oracle 的工作方式以及某些点很特别,那会就感觉,这货就是一个奇葩!最近重拾记忆,一直在折腾 Oracle,因为 Oracle 与众不 ...

  7. CPU与内存的那些事

    下面是网上看到的一些关于内存和CPU方面的一些很不错的文章. 整理如下: 转: CPU的等待有多久? 原文标题:What Your Computer Does While You Wait 原文地址: ...

  8. WC2015 酱油记

    这是真·酱油记! Day0 因为我们在上海,所以只要坐高铁就可以了2333.到了火车站以后我们坐大巴到学军中学恩,结果坐大巴的时间和做坐高铁的时间差不做←_←. 吐槽了一下住宿环境和课程表就已经晚上了 ...

  9. What Your Computer Does While You Wait

    转: CPU的等待有多久? 原文标题:What Your Computer Does While You Wait 原文地址:http://duartes.org/gustavo/blog/ [注:本 ...

随机推荐

  1. insert into select的实际用法

    INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table ...

  2. 根据List集合中的对象属性排序

    首先创建一个Student对象,里面有三个属性,分别是int类型,String类型,Date类型 package com.sinoway.cisp.test; import java.text.Sim ...

  3. 【Python 05】Python开发环境搭建

    Python3安装和使用 1.安装 Python管方下载地址 选择Customize installation安装,并且勾选Add Python 3.X to PATH. 勾选Documentatio ...

  4. Disruptor-架构思维的转变

    相对于无锁技术,Disruptor对于架构思维的转变,才是其最大亮点. Pub Event 说到RingBuffer做的队列,通常都说的是“一读一写“,或者“多读一写“.而Disruptor天生是为“ ...

  5. Win7 64位 + LoadRunner 11录制时弹不出IE的解决办法 Win7 64位 + LoadRunner 11录制时弹不出IE的解决办法

    Win7 64位 + LoadRunner 11录制时弹不出IE的解决办法 Win7 64位 + LoadRunner 11录制时弹不出IE的解决办法 1. 卸载IE9( 装了Win7 64位后,默认 ...

  6. go语言-值类型与引用类型

    https://www.cnblogs.com/java-zhao/p/9942311.html https://blog.csdn.net/TDCQZD/article/details/826836 ...

  7. PHP中的DateTime类

    DataTime类跟date(),strtotime(),gmdate()等函数有相同的作用,都是用来处理日期和时间的,但DateTime类更加直观.方便, 所以在PHP5.2.0以后推荐使用Date ...

  8. PHP artisan migrate 报错显示 could not find driver ,怎么办?

    记录下自己的错误 一. 1.原因是没有pdo扩展导致的, 2.解决办法:打开php.ini,然后去掉以下两行代码之前的分号(:)即可.如下: extension=php_pdo_firebird.dl ...

  9. 搭建Android手机服务器(一)

    自从上学期的软件工程课之后,我们团队设计的抢答器一直想把服务端移到移动端.所以,我一直在考虑如何把手机作为一台服务器.今天我主要讲解一下,对于没有android真机只有模拟器的,如何设置模拟器,使得在 ...

  10. 最简单的 springboot 发送邮件,使用thymeleaf模板

    1,导入需要的包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g ...