Architecture | uname -m | Size | Endian | Libpath | Miscellaneous ----------------+----------+------+--------+---------+-------------------------------- Alpha | alpha | LP64 | little | lib | AMD64 | x86_64 | LP64 | little | lib64 | executes x86 code natively IPF | ia64 | LP64 | little | lib | executes x86 code via emulation MIPS64 | mips64 | LP64 | both | lib64 | executes MIPS code natively PowerPC64 | ppc64 | LP64 | big | lib64 | executes PowerPC code natively Sparc64 | sparc64 | LP64 | big | lib64 | executes Sparc code natively PA-RISC64 | parisc64 | LP64 | big | - | only kernel support, no 64-bit | | | | | executes 32-bit PA-RISC code zSeries (s390x) | s390x | LP64 | big | lib64 | executes s390 code natively
int s_socklen; s_result = getsockopt(s_socket, s_level, s_optname, &s_optval, &s_socklen);
socklen_t s_socklen; s_result = getsockopt(s_socket, s_level, s_optname, &s_optval, &s_socklen);
void my_assert(int s_expression) { if(!s_expression)return; (void)fprintf(stderr, "assert....\n"); }
void *s_ptr = NULL; my_assert(s_ptr);
void *s_ptr = NULL; my_assert(s_ptr != NULL);
#define my_DWORD unsigned long int
#define my_DWORD unsigned int
int my_atomic_exchange(int * volatile s_to, int s_value) { __asm volatile ("xchgl (%2), %0\n\t" : "=r"(s_value) : "0"(s_value), "r"(s_to) : "memory"); return(s_value); }
void *my_memcpy(void *s_to, const void *s_from, int s_size) { return(memcpy(s_to, s_from, s_size)); }
void *my_memcpy(void *s_to, const void *s_from, size_t s_size) { return(memcpy(s_to, s_from, s_size)); }
#pragma pack(push,8) struct ts_my_struct { unsigned char b; unsigned short w; unsigned int d; unsigned long d; unsigned long long q; long double paragraph; } #pragma pack(pop)
#if defined(__x86_64__) || defined(__ia64__) || defined(_M_AMD64) || defined(_M_IA64) || defined(_WIN64) || defined(__alpha__) || defined(__s390__) /* ... */ /* 오~ 나 64bit 에서 컴파일 되네.. 어허 요렇게 처리하자~ */ #endif