亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sdl_endian.h

?? 一個非常有用的開源代碼
?? H
字號:
/*    SDL - Simple DirectMedia Layer    Copyright (C) 1997-2004 Sam Lantinga    This library is free software; you can redistribute it and/or    modify it under the terms of the GNU Library General Public    License as published by the Free Software Foundation; either    version 2 of the License, or (at your option) any later version.    This library is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    Library General Public License for more details.    You should have received a copy of the GNU Library General Public    License along with this library; if not, write to the Free    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA    Sam Lantinga    slouken@libsdl.org*/#ifdef SAVE_RCSIDstatic char rcsid = "@(#) $Id: SDL_endian.h,v 1.15 2005/03/30 12:38:03 pmandin Exp $";#endif/* Functions for reading and writing endian-specific values */#ifndef _SDL_endian_h#define _SDL_endian_h/* These functions read and write data of the specified endianness,    dynamically translating to the host machine endianness.   e.g.: If you want to read a 16 bit value on big-endian machine from         an open file containing little endian values, you would use:		value = SDL_ReadLE16(rp);         Note that the read/write functions use SDL_RWops pointers         instead of FILE pointers.  This allows you to read and write         endian values from large chunks of memory as well as files          and other data sources.*/#include <stdio.h>#include "SDL_types.h"#include "SDL_rwops.h"#include "SDL_byteorder.h"#include "begin_code.h"/* Set up for C function definitions, even when using C++ */#ifdef __cplusplusextern "C" {#endif/* Use inline functions for compilers that support them, and static   functions for those that do not.  Because these functions become   static for compilers that do not support inline functions, this   header should only be included in files that actually use them.*/#if defined(__GNUC__) && defined(__i386__)static __inline__ Uint16 SDL_Swap16(Uint16 x){	__asm__("xchgb %b0,%h0" : "=q" (x) :  "0" (x));	return x;}#elif defined(__GNUC__) && defined(__x86_64__)static __inline__ Uint16 SDL_Swap16(Uint16 x){	__asm__("xchgb %b0,%h0" : "=Q" (x) :  "0" (x));	return x;}#elif defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__))static __inline__ Uint16 SDL_Swap16(Uint16 x){	Uint16 result;	__asm__("rlwimi %0,%2,8,16,23" : "=&r" (result) : "0" (x >> 8), "r" (x));	return result;}#elif defined(__GNUC__) && (defined(__M68000__) || defined(__M68020__))static __inline__ Uint16 SDL_Swap16(Uint16 x){	__asm__("rorw #8,%0" : "=d" (x) :  "0" (x) : "cc");	return x;}#elsestatic __inline__ Uint16 SDL_Swap16(Uint16 x) {	return((x<<8)|(x>>8));}#endif#if defined(__GNUC__) && defined(__i386__)static __inline__ Uint32 SDL_Swap32(Uint32 x){	__asm__("bswap %0" : "=r" (x) : "0" (x));	return x;}#elif defined(__GNUC__) && defined(__x86_64__)static __inline__ Uint32 SDL_Swap32(Uint32 x){	__asm__("bswapl %0" : "=r" (x) : "0" (x));	return x;}#elif defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__))static __inline__ Uint32 SDL_Swap32(Uint32 x){	Uint32 result;	__asm__("rlwimi %0,%2,24,16,23" : "=&r" (result) : "0" (x>>24), "r" (x));	__asm__("rlwimi %0,%2,8,8,15"   : "=&r" (result) : "0" (result),    "r" (x));	__asm__("rlwimi %0,%2,24,0,7"   : "=&r" (result) : "0" (result),    "r" (x));	return result;}#elif defined(__GNUC__) && (defined(__M68000__) || defined(__M68020__))static __inline__ Uint32 SDL_Swap32(Uint32 x){	__asm__("rorw #8,%0\n\tswap %0\n\trorw #8,%0" : "=d" (x) :  "0" (x) : "cc");	return x;}#elsestatic __inline__ Uint32 SDL_Swap32(Uint32 x) {	return((x<<24)|((x<<8)&0x00FF0000)|((x>>8)&0x0000FF00)|(x>>24));}#endif#ifdef SDL_HAS_64BIT_TYPE#if defined(__GNUC__) && defined(__i386__)static __inline__ Uint64 SDL_Swap64(Uint64 x){	union { 		struct { Uint32 a,b; } s;		Uint64 u;	} v;	v.u = x;	__asm__("bswapl %0 ; bswapl %1 ; xchgl %0,%1" 	        : "=r" (v.s.a), "=r" (v.s.b) 	        : "0" (v.s.a), "1" (v.s.b)); 	return v.u;}#elif defined(__GNUC__) && defined(__x86_64__)static __inline__ Uint64 SDL_Swap64(Uint64 x){	__asm__("bswapq %0" : "=r" (x) : "0" (x));	return x;}#elsestatic __inline__ Uint64 SDL_Swap64(Uint64 x){	Uint32 hi, lo;	/* Separate into high and low 32-bit values and swap them */	lo = (Uint32)(x&0xFFFFFFFF);	x >>= 32;	hi = (Uint32)(x&0xFFFFFFFF);	x = SDL_Swap32(lo);	x <<= 32;	x |= SDL_Swap32(hi);	return(x);}#endif#else/* This is mainly to keep compilers from complaining in SDL code.   If there is no real 64-bit datatype, then compilers will complain about   the fake 64-bit datatype that SDL provides when it compiles user code.*/#define SDL_Swap64(X)	(X)#endif /* SDL_HAS_64BIT_TYPE *//* Byteswap item from the specified endianness to the native endianness */#if SDL_BYTEORDER == SDL_LIL_ENDIAN#define SDL_SwapLE16(X)	(X)#define SDL_SwapLE32(X)	(X)#define SDL_SwapLE64(X)	(X)#define SDL_SwapBE16(X)	SDL_Swap16(X)#define SDL_SwapBE32(X)	SDL_Swap32(X)#define SDL_SwapBE64(X)	SDL_Swap64(X)#else#define SDL_SwapLE16(X)	SDL_Swap16(X)#define SDL_SwapLE32(X)	SDL_Swap32(X)#define SDL_SwapLE64(X)	SDL_Swap64(X)#define SDL_SwapBE16(X)	(X)#define SDL_SwapBE32(X)	(X)#define SDL_SwapBE64(X)	(X)#endif/* Read an item of the specified endianness and return in native format */extern DECLSPEC Uint16 SDLCALL SDL_ReadLE16(SDL_RWops *src);extern DECLSPEC Uint16 SDLCALL SDL_ReadBE16(SDL_RWops *src);extern DECLSPEC Uint32 SDLCALL SDL_ReadLE32(SDL_RWops *src);extern DECLSPEC Uint32 SDLCALL SDL_ReadBE32(SDL_RWops *src);extern DECLSPEC Uint64 SDLCALL SDL_ReadLE64(SDL_RWops *src);extern DECLSPEC Uint64 SDLCALL SDL_ReadBE64(SDL_RWops *src);/* Write an item of native format to the specified endianness */extern DECLSPEC int SDLCALL SDL_WriteLE16(SDL_RWops *dst, Uint16 value);extern DECLSPEC int SDLCALL SDL_WriteBE16(SDL_RWops *dst, Uint16 value);extern DECLSPEC int SDLCALL SDL_WriteLE32(SDL_RWops *dst, Uint32 value);extern DECLSPEC int SDLCALL SDL_WriteBE32(SDL_RWops *dst, Uint32 value);extern DECLSPEC int SDLCALL SDL_WriteLE64(SDL_RWops *dst, Uint64 value);extern DECLSPEC int SDLCALL SDL_WriteBE64(SDL_RWops *dst, Uint64 value);/* Ends C function definitions when using C++ */#ifdef __cplusplus}#endif#include "close_code.h"#endif /* _SDL_endian_h */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区蜜桃| 日本韩国视频一区二区| 色婷婷综合久久久久中文 | 一区二区三区在线高清| 久久不见久久见中文字幕免费| 97se亚洲国产综合自在线不卡| 日韩一级黄色大片| 亚洲一区在线观看免费| hitomi一区二区三区精品| 精品av久久707| 亚洲成人自拍偷拍| 99精品国产99久久久久久白柏 | 精品在线视频一区| 欧美日韩成人在线| 亚洲乱码日产精品bd | 精品亚洲aⅴ乱码一区二区三区| 在线中文字幕不卡| 亚洲精品成人少妇| 91丨九色丨尤物| 亚洲人成网站色在线观看| 岛国精品在线播放| 国产欧美日韩在线视频| 国内精品不卡在线| 久久网站热最新地址| 精品在线播放免费| 久久久久一区二区三区四区| 久久福利视频一区二区| 日韩美女在线视频| 精品一区二区三区的国产在线播放 | 国产精品系列在线观看| 欧美精品一区二区高清在线观看| 老司机免费视频一区二区三区| 6080国产精品一区二区| 日本欧美大码aⅴ在线播放| 在线观看日产精品| 日韩中文欧美在线| 欧美一区二区福利在线| 激情六月婷婷综合| 久久久91精品国产一区二区三区| 国产精品911| 最新欧美精品一区二区三区| 91污片在线观看| 亚洲一区二区三区视频在线| 欧美日韩亚洲综合一区| 日本视频一区二区三区| 精品美女一区二区| 菠萝蜜视频在线观看一区| 亚洲欧美日韩在线不卡| 在线观看免费视频综合| 蜜桃av噜噜一区二区三区小说| 日韩一区二区三区视频在线| 国产剧情一区二区| 成人免费在线视频| 91精品国产一区二区| 国产麻豆精品视频| 亚洲欧洲综合另类| 日韩欧美国产小视频| 国产精品影视在线观看| 一区二区三区四区亚洲| 日韩一级二级三级精品视频| 粉嫩aⅴ一区二区三区四区五区| 国产精品久久看| 欧美丰满少妇xxxbbb| 国产成人在线色| 亚洲va欧美va人人爽午夜| 精品国内片67194| 91福利精品视频| 精彩视频一区二区| 一区二区三区在线视频观看58| 欧美一区二区三区四区在线观看| 国产.欧美.日韩| 亚洲第一av色| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美日韩在线亚洲一区蜜芽| 久久91精品国产91久久小草| 一区在线观看免费| 精品久久久久久久人人人人传媒 | xfplay精品久久| 欧美色国产精品| 成人综合婷婷国产精品久久蜜臀| 亚洲综合视频在线观看| 国产精品视频一二三区| 91精品黄色片免费大全| 99国产精品视频免费观看| 青青草伊人久久| 一区二区三区中文字幕| 国产亚洲综合色| 日韩免费观看2025年上映的电影| 色综合夜色一区| 国产99精品视频| 久久99精品久久久久久久久久久久| 一区二区三区色| 欧美激情一区二区三区不卡| 精品国产乱码久久久久久蜜臀| 欧美无砖专区一中文字| 97久久精品人人爽人人爽蜜臀| 国产精品1区2区3区在线观看| 日韩制服丝袜av| 午夜电影一区二区三区| 亚洲卡通欧美制服中文| 亚洲人成亚洲人成在线观看图片 | 99久久综合色| 成人高清av在线| 国产二区国产一区在线观看| 久草热8精品视频在线观看| 日韩影院在线观看| 日韩精品电影在线| 日韩国产欧美在线视频| 亚洲成av人片一区二区| 午夜精品在线看| 午夜精品视频一区| 亚洲高清免费在线| 亚洲大片精品永久免费| 天天综合色天天综合色h| 亚洲一二三四区| 日韩av午夜在线观看| 蜜臀久久久久久久| 伦理电影国产精品| 韩国视频一区二区| 成人妖精视频yjsp地址| 成人性视频网站| 91麻豆免费视频| 欧美性videosxxxxx| 欧美精品日韩精品| 日韩一区二区三免费高清| 欧美另类久久久品| 日韩一卡二卡三卡| 久久久国产一区二区三区四区小说| 欧美电影免费观看完整版| 久久久精品国产免费观看同学| 国产亚洲精品bt天堂精选| 国产蜜臀97一区二区三区| 亚洲欧美日韩国产一区二区三区| 亚洲超碰精品一区二区| 免费观看91视频大全| 国产高清精品网站| 在线观看日韩电影| 欧美xxxx老人做受| 中文字幕制服丝袜一区二区三区| 亚洲综合一区二区| 国产在线视频精品一区| 91美女片黄在线观看91美女| 欧美福利电影网| 亚洲国产精品成人久久综合一区| 一区二区三区中文字幕| 精品一区二区日韩| 欧美在线观看视频一区二区| 日韩精品一区二区三区视频播放 | 亚洲欧美另类久久久精品2019| 亚洲成人中文在线| 精品亚洲porn| 欧洲一区二区三区免费视频| 日韩精品一区在线观看| 亚洲码国产岛国毛片在线| 免费在线观看日韩欧美| 不卡在线视频中文字幕| 欧美日本免费一区二区三区| 国产清纯白嫩初高生在线观看91 | 久久丁香综合五月国产三级网站 | 国产在线播放一区二区三区| 日本精品视频一区二区| wwww国产精品欧美| 亚洲国产一二三| 成人午夜视频在线| 91精品国产麻豆国产自产在线 | 日本中文一区二区三区| 本田岬高潮一区二区三区| 欧美高清激情brazzers| 中文字幕一区二区三| 韩日精品视频一区| 欧美人成免费网站| 伊人夜夜躁av伊人久久| 国产成人夜色高潮福利影视| 欧美精品久久一区二区三区| 国产精品福利在线播放| 国产精品一区二区久久不卡| 欧美一区二区私人影院日本| 中文字幕一区二区三区在线播放| 精品一区二区三区免费观看 | 91久久精品网| 综合av第一页| 丁香婷婷综合五月| 精品成人在线观看| 日韩电影网1区2区| 欧美日韩国产区一| 亚洲蜜臀av乱码久久精品蜜桃| 美女国产一区二区| 日韩丝袜情趣美女图片| 日日夜夜一区二区| 在线播放91灌醉迷j高跟美女| 一区二区在线观看av| 99视频在线观看一区三区| 国产女人18水真多18精品一级做| 国模少妇一区二区三区| 精品久久久网站| 国产真实乱子伦精品视频| 精品国精品国产尤物美女| 国内精品在线播放| 国产欧美一区二区三区网站| 国产一区欧美一区|