[ת]C/C++µÄ64λÕûÐÍ
Technorati ±êÇ©: C++ ÔÎĵØÖ·£ºhttp://www.byvoid.com/blog/c-int64/ ÔÚC/C++ÖУ¬64ΪÕûÐÍÒ»Ö±ÊÇÒ»ÖÖûÓÐÈ·¶¨¹æ·¶µÄÊý¾ÝÀàÐÍ¡£ÏÖ½ñÖ÷Á÷µÄ±àÒëÆ÷ÖУ¬¶Ô64ΪÕûÐ͵ÄÖ§³ÖÒ²ÊDZê×¼²»Ò»£¬ÐÎ̬¸÷Òì¡£Ò»°ãÀ´Ëµ£¬64λÕûÐ͵Ķ¨Ò巽ʽÓÐlong longºÍ__int64Á½ÖÖ(VC»¹Ö§³Ö_int64)£¬¶øÊä³öµ½±ê×¼Êä³ö·½Ê½ÓÐprintf(¡°%lld¡±,a)£¬printf(¡°%I64d¡±,a)£¬ºÍcout << aÈýÖÖ·½Ê½¡£ ±¾ÎÄÌÖÂÛµÄÊÇÎåÖÖ³£ÓõÄC/C++±àÒëÆ÷¶Ô64λÕûÐ͵ÄÖ§³Ö£¬ÕâÎåÖÖ±àÒëÆ÷·Ö±ðÊÇgcc(mingw32)£¬g++(mingw32)£¬gcc(linux i386)£¬g++(linux i386)£¬Microsoft Visual C++ 6.0¡£¿ÉϧµÄÊÇ£¬Ã»ÓÐÒ»ÖÖ¶¨ÒåºÍÊä³ö·½Ê½×éºÏ£¬Í¬Ê±¼æÈÝÕâÎåÖÖ±àÒëÆ÷¡£Îª³¹µ×ŪÇ岻ͬ±àÒëÆ÷¶Ô64λÕûÐÍ£¬ÎÒдÁ˳ÌÐò¶ÔËüÃǽøÐÐÁËÆÀ²â£¬½á¹ûÈçÏÂ±í¡£ ±äÁ¿¶¨Òå Êä³ö·½Ê½ gcc(mingw32) g++(mingw32) gcc(linux i386) g++(linux i386) MicrosoftVisual C++ 6.0 long long ¡°%lld¡± ´íÎó ´íÎó ÕýÈ· ÕýÈ· ÎÞ·¨±àÒë long long ¡°%I64d¡± ÕýÈ· ÕýÈ· ´íÎó ´íÎó ÎÞ·¨±àÒë __int64 ¡°lld¡± ´íÎó ´íÎó ÎÞ·¨±àÒë ÎÞ·¨±àÒë ´íÎó __int64 ¡°%I64d¡± ÕýÈ· ÕýÈ· ÎÞ·¨±àÒë ÎÞ·¨±àÒë ÕýÈ· long long cout ·ÇC++ ÕýÈ· ·ÇC++ ÕýÈ· ÎÞ·¨±àÒë __int64 cout ·ÇC++ ÕýÈ· ·ÇC++ ÎÞ·¨±àÒë ÎÞ·¨±àÒë long long printint64() ÕýÈ· ÕýÈ· ÕýÈ· ÕýÈ· ÎÞ·¨±àÒë
ÉϱíÖУ¬ÕýÈ·Ö¸±àÒëͨ¹ý£¬ÔËÐÐÍêÈ«ÕýÈ·£»´íÎóÖ¸±àÒëËäȻͨ¹ý£¬µ«ÔËÐнá¹ûÓÐÎó£»ÎÞ·¨±àÒëÖ¸±àÒëÆ÷¸ù±¾²»ÄܱàÒëÍê³É¡£¹Û²ìÉÏ±í£¬ÎÒÃÇ¿ÉÒÔ·¢ÏÖÒÔϼ¸µã£º long long¶¨Ò巽ʽ¿ÉÒÔÓÃÓÚgcc/g++£¬²»ÊÜƽ̨ÏÞÖÆ£¬µ«²»ÄÜÓÃÓÚVC6.0¡£ __int64ÊÇWin32ƽ̨±àÒëÆ÷64볤ÕûÐ͵Ķ¨Ò巽ʽ£¬²»ÄÜÓÃÓÚLinux¡£ ¡°%lld¡±ÓÃÓÚLinux i386ƽ̨±àÒëÆ÷£¬¡±%I64d¡±ÓÃÓÚWin32ƽ̨±àÒëÆ÷¡£ coutÖ»ÄÜÓÃÓÚC++±àÒ룬ÔÚVC6.0ÖУ¬cout²»Ö§³Ö64볤ÕûÐÍ¡£ ±íÖÐ×îºóÒ»ÐÐÊä³ö·½Ê½ÖеÄprinti
Ïà¹ØÎĵµ£º
ÍøÉÏÒ»µÀ½ðɽµÄÃæÊÔÌ⣺
http://topic.csdn.net/u/20100524/14/0eff992a-2849-4db6-bdaa-d4a200e79b7c.html
Çë·Ö±ðÓÃC++µÄÃæÏò¶ÔÏóºÍ·ºÐÍ»úÖÆ£¬±àдʵÏÖTemplate MethodģʽµÄʾÀý´úÂ룬²¢±È½ÏÁ½ÖÖ·½Ê½¸÷×ÔµÄÓÅȱµã¡£
ÓÃÐ麯ÊýʵÏÖTemplate MethodµÄ·½Ê½¾Í²»¶à˵ÁË¡£Ó÷ºÐ͵ķ½Ê½ÊµÏÖ¶à̬ÔÚATLÀïÃæÓдóÁ¿µÄÓõ½£¡
·ºÐ͵ ......
CºÍC++ÖеÄÖ÷ÒªÊý¾ÝÀàÐͺÍ×Ö½Ú´óС(
C/C++µÄд·¨ÊDz»¿ÆѧºÍ²»ÑϽ÷µÄ¡£ÒòΪCºÍC++ËäÈ»ÓïÒ壬µ«ÊÇÉè¼Æ˼ÏëÊǽṹ»¯ÓëÃæÏò¶ÔÏó. C±ê×¼¹æ·¶ÓëC++µÄ±ê×¼¹æ·¶Ò²ÊÇÁ½¸öÎı¾¡£½üÀ´×ÐϸÑо¿ÁËËüÃǵÄÊý¾ÝÀàÐÍ£¬²ÅÖªµÀÆäÀ´ÁúÈ¥Âö£¬ÕæÕý×öµ½ÆäʵËùÒÔÈ»¡£
1¡¢CÓïÑÔ¶¨ÒåÁË5ÖÖ»ù±¾Êý¾ÝÀàÐÍ
char(×Ö·û), int(Õ ......
²»À뿪EmacsÍê³É¼òµ¥C³ÌÐòµÄ±à¼±àÒëÔËÐУ¨×ª£©
£¨1£©´ò¿ªEmacs£¬Ö´ÐÐ
$ emacs
£¨2£©½¨Á¢Ò»¸öеijÌÐòÎļþ. Ö´ÐÐ C-x C-f£¬
È»ºóÔÚÆÁÄ»µÄµ×²¿³öÏÖminibuffer£¬¹â±êÌáʾÄãÊäÈëÎļþÃû³Æ£¬
ÎļþÃû³ÆÒª´øÉϺó׺Ãû£¬Èçhello.cpp¡£»Ø³µ£¬È»ºó¿ªÊ¼±à¼Ô´´úÂë¡£
£¨3£©±àÒë´úÂë¡£Ö´ÐÐEsc-x compile£¬³öÏÖminibuffer£¬ÌáʾÄãÊäÈ ......
/*
* File: main.cpp
* Author: Vicky
*
* Created on 2010Äê5ÔÂ8ÈÕ, ÏÂÎç2:47
*/
#include <iostream>
using namespace std;
void swap(int x, int y) {
cout << "x and y swap before : " << x << "\t" << y << endl;
int i = x;
x = y;
y = i; ......
¹ØÓÚ#ºÍ##ÔÚCÓïÑԵĺêÖУ¬#µÄ¹¦ÄÜÊǽ«ÆäºóÃæµÄºê²ÎÊý½øÐÐ×Ö·û´®»¯²Ù×÷£¨Stringfication£©£¬¼òµ¥Ëµ¾ÍÊÇÔÚ¶ÔËüËùÒýÓõĺê±äÁ¿Í¨¹ýÌæ»»ºóÔÚÆä×óÓÒ¸÷¼ÓÉÏÒ»¸öË«ÒýºÅ¡£±ÈÈçÏÂÃæ´úÂëÖеĺ꣺
#define WARN_IF(EXP) \
do{ if (EXP) \
& ......