C
酱油王
这个作者很懒,什么都没留下…
展开
-
C语言中内存偏移量
#include #include typedef struct _A { char a; int b; float c; double d; int *pa; char *pc; short e; long long l;} A;#define AOI(m, type) { offsetof(struct _A, m), sizeof(type),原创 2015-08-29 21:44:27 · 2630 阅读 · 0 评论 -
The C Programming Language
1. A #define line defines a symbolic name orsymbolic constant to be a particular string of characters: (P14) #define name replacement text原创 2017-05-16 00:18:17 · 375 阅读 · 0 评论 -
TBB(intel threading building blocks)内存分配算法(一)
转载地址:http://blog.csdn.net/realxie/article/details/7250810开篇:最近研究了一下TBB的内存分配算法,发现设计的非常优雅,故和大家分析一下它的算法思想。既然是开篇,那么我们就先从最基本的入手来看一下TBB基于Cache对齐的内存管理算法。首先来明确几个概念。cache: 现代的cpu都引入的cache的概念,即cpu在参与运算时转载 2015-06-11 20:46:41 · 684 阅读 · 0 评论 -
字符串的排列。输入一字符串,打印出该字符串中字符的所有排列。例如输入abc,则排列为abc,acb,bac,bca,cab,cba
import java.util.HashMap;public class Permutation { private char[] ch; public Permutation(String str) { ch = str.toCharArray(); } public void listPermutation() { recursivePermute(ch, 0);原创 2015-08-28 20:59:50 · 2927 阅读 · 2 评论 -
哲学家就餐问题
/*每个哲学家相当于一个线程*//** * 哲学家就餐问题是1965年由Dijkstra提出的一种线程同步的问题 * * 问题描述: * * 一圆桌前坐着N位哲学家,两个人中间有一只筷子,桌子中央有面条。哲学家思考问题, * 当饿了的时候拿起左右两只筷子吃饭,必须拿到两只筷子才能吃饭。上述问题会产生死锁的情况, * 当5个哲学家都拿起自己右手边的筷子,准备拿左手边的筷子时产生死原创 2015-09-04 20:08:47 · 632 阅读 · 0 评论 -
Record locking
#include #include #include #include #include #define MAXLINE 4096#define SEQFILE "seqno"void my_lock(int);void my_unlock(int);intmain(int argc, char** argv) { int fd; long i, seqno; p原创 2015-09-10 09:50:33 · 410 阅读 · 0 评论 -
Examining the Compilation Process
Examining the Compilation Process. Part 1.This article, and the one to follow, are based on aSoftware Development class I taught a few years ago. The students in this classwere non-programmers who h转载 2015-09-09 21:28:05 · 524 阅读 · 0 评论 -
生产者消费者问题
public class ProducerConsumer { public Product[] products = new Product[10]; volatile int top = 0; volatile int capacity = 0; public static final Integer HOLD = 0; class Producer implements R原创 2015-06-23 15:30:00 · 388 阅读 · 0 评论 -
(*(void (*)( ) )0)( )
概述 在很多情况下,尤其是读别人所写代码的时候,对C语言声明的理解能力变得非常重要,而C语言本身的凝练简约也使得C语言的声明常常会令人感到非常困惑,因此,在这里我用一篇的内容来集中阐述一下这个问题。 问题:声明与函数 有一段程序存储在起始地址为0的一段内存上,如果我们想要调用这段程序,请问该如何去做? 答案 答案是(*(void (*)( )转载 2015-08-31 21:30:26 · 312 阅读 · 0 评论 -
BitMap
/** * 在2.5亿个整数中找出不重复的整数,内存不足以容纳这2.5亿个整数。 * 每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义 * * 参考网址:http://www.cnblogs.com/dongxi/archive/2012/11/07/2759618.html */public class BitMap { //用char数组存储2-B原创 2015-08-30 22:14:53 · 279 阅读 · 0 评论 -
Pointers to Pointers
Chapter 22: Pointers to PointersSince we can have pointers to int,and pointers to char,and pointers to any structures we've defined,and in fact pointers to any type in C,it shouldn't come as too muc转载 2017-09-24 15:59:50 · 427 阅读 · 0 评论