2008年3月9日 星期日

Note

前幾天玩了那個手套,他用了一些Information Hidden的方法
覺得蠻有趣的 想要自己來試試看 順便練習一下C

[ hidden.h]
#ifndef HIDDEN_H
#define HIDDEN_H 1

// 在這邊藏起來了,用void*
typedef struct Hidden {
void* data;
} Hidden;

Hidden* Hidden_New();
void Hidden_Show(Hidden*);

#endif

[hidden.c]
#include
#include
#include "hidden.h"


typedef struct dataContent {
int ID;
char* name;
} dataContent;

typedef dataContent* ptrData;

Hidden* Hidden_New()
{
ptrData p = (ptrData) malloc(sizeof(dataContent));
p->ID = 577;
p->name = "Pingting";
Hidden* ret = (Hidden*) malloc(sizeof(Hidden));
ret->data = (void*)p;
return ret;
}

void Hidden_Show(Hidden* target)
{
ptrData p = (ptrData)target->data;
printf(" %d, %s \n", p->ID, p->name);
}

[test.c]
#include
#include "hidden.h"

int main(int argc, char** args, char** envp)
{
Hidden* p = Hidden_New();
Hidden_Show(p);
return 0;
}

gcc -c hidden.c
gcc -c test.c
gcc -o test test.o hidden.o

#test
577, Pingting

沒有留言: