青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 8, 文章 - 0, 評論 - 17, 引用 - 0
數(shù)據(jù)加載中……

2009年4月2日

iPhone手機(jī)開發(fā)平臺(tái)入門介紹和教程

1. iPhone手機(jī)介紹
首先需要了解和破解iPhone手機(jī),下面一個(gè)帖子介紹很詳細(xì):
iPhone最權(quán)威 [入門] [破解] [掃盲] [資源] [修磚] 總匯帖
http://www.weiphone.com/thread-41690-1-1.html

iPhone手機(jī)手冊的中文翻譯
http://down.tgbus.com/soft/16820.shtml


2. Unix常見命令
iPhone手機(jī)的操作系統(tǒng)是Mac OS X,內(nèi)核是unix,所以可以iPhone手機(jī)上運(yùn)行unix命令。
http://www.weiphone.com/thread-15894-1-1.html

3. Windows平臺(tái)上iPhone開發(fā)環(huán)境搭建
見筆者的文章《Windows平臺(tái)上iPhone基于cygwin開發(fā)環(huán)境的搭建方法》,文件鏈接:
http://canco.javaeye.com/admin/blogs/199106

4. Toolchain和iPhone SDK
Toolchain與官方iPhone SDK的比較請見文章:
《比較官方iPhone SDK和開源工具鏈》,文章鏈接:http://www.cocoachina.com/index.php/archives/cocoachina_149.html
iPhone SDK介紹和分析
見西西河的AllenKids先生的2篇文章:
iPhoneSDK觀察 - 舞姿飄忽,蘋果的探戈
http://www.20ju.com/content/V19377.htm
iPhone SDK 觀察二:舞臺(tái)寬廣,才能跳得歡暢
http://www.cnbeta.com/articles/55055.htm

iPhone SDK, Toolchain, Windows Mobile, SymbianOS S60的比較
http://www.rsslite.com/post/1889.html



iPhone用戶界面指導(dǎo)原則
http://www.20ju.com/content/V22381.htm

5. iPhone開發(fā)語言:Objective-C
iPhone原生程序開發(fā)語言主要是用Objective-C語言,如果你熟悉C/C++語言,則能很快掌握Objective-C。Objective-C語言主要要理解可變參數(shù),Categories, Posing, Protocols等特性。
Objective-C初學(xué)者指南(繁體)
http://www.otierney.net/objective-c.html.zh-tw.big5Objective-C語法快速參考
http://www.cocoachina.com/index.php/archives/cocoachina_122.html
Learn Objective-C
http://cocoadevcentral.com/d/learn_objectivec/

The Objective-C 2.0 Programming Language
http://developer.apple.com/iphone/(注:需要注冊為apple會(huì)員才可以下載)

6. iPhone開發(fā)書籍、文章和源代碼
由iPhone開發(fā)和破解領(lǐng)路人Jonathan Zdziarski著作,最最重要、最值得推薦和唯一的開發(fā)書籍《iPhone Open Application Development》,可通過google下載電子版。


Creating an iPhone Application
iPhone OS Overview
iPhone OS Programming Guide
iPhone Human Interface Guidelines
Cocoa Fundamentals Guide
http://developer.apple.com/iphone/(注:需要注冊為apple會(huì)員才可以下載)


Lucas Newman 的18頁iPhone開發(fā)PDF教學(xué)
http://lucasnewman.com/phonedev.pdf

學(xué)習(xí)怎樣在 iPhone/iPod Touch 上開發(fā)自制遊戲全記錄
http://www.weiphone.com/thread-81192-1-2.html

CocoaChina整理的開源iPhone程序不完全列表
http://www.cocoachina.com/index.php/archives/cocoachina_143.html

幾個(gè)源碼例子
http://lucasnewman.com/phonedemos.zip



7. iPhone論壇和網(wǎng)站
平果開發(fā)中文站-最好的中文iPhone開發(fā)網(wǎng)站!
http://www.cocoachina.com/

蘋果官方的開發(fā)網(wǎng)站:
http://developer.apple.com/iphone/

Weiphone
http://www.weiphone.com/index.php

蘋果fans成立的網(wǎng)站:
http://apple4.us/

posted @ 2009-04-02 22:55 YG 閱讀(972) | 評論 (1)編輯 收藏

2008年12月31日

The Standard C Library

     摘要: The Standard C Library --------------經(jīng)典的基礎(chǔ) C的標(biāo)志庫函數(shù)是學(xué)習(xí)和使用C語言的基礎(chǔ),是編寫經(jīng)典C程序的基礎(chǔ),是學(xué)習(xí)其他計(jì)算機(jī)知識(shí)的基礎(chǔ).C標(biāo)志庫中一共包含了15個(gè)頭文件: <assert.h> <ctype.h> <stdio.h> <stdlib.h> <string.h> <li...  閱讀全文

posted @ 2008-12-31 13:38 YG 閱讀(763) | 評論 (0)編輯 收藏

ACE在linux下的安裝

本文詳細(xì)描述了在Linux操作系統(tǒng)上安裝和配置“自適應(yīng)通信環(huán)境(ACE)”的過程和注意事項(xiàng)。zCkLinux聯(lián)盟

文中的描述基于RedHat Linux 9操作系統(tǒng)和ACE 5.4版zCkLinux聯(lián)盟

準(zhǔn)備工作:zCkLinux聯(lián)盟

1.確保你的Linux操作系統(tǒng)的開發(fā)環(huán)境(gcc、make……)是完整且可用的。zCkLinux聯(lián)盟

2.在安裝ACE的過程中,可能需要root權(quán)限,因此確保你擁有root帳戶的密碼。zCkLinux聯(lián)盟

3.對于典型的Redhat9系統(tǒng),autoconf程序的版本可能過低,你需要首先升級它。zCkLinux聯(lián)盟

   升級的步驟如下:zCkLinux聯(lián)盟

  1. 在控制臺(tái)中輸入 autoconf -V,查看你的autoconf程序的版本
  2. 如果低于2.57g,你需要到http://www.gnu.org/software/autoconf/去下載最新版本的autoconf程序,目前autoconf程序的版本是2.59
  3. 根據(jù)tarball中的安裝說明,編譯并安裝升級autoconf程序

 

開始安裝:zCkLinux聯(lián)盟

經(jīng)過上面的準(zhǔn)備工作,現(xiàn)在你已經(jīng)具備了安裝ACE的條件。下面開始正式的安裝工作。zCkLinux聯(lián)盟

  1. 首先確定ACE的安裝路徑,并建立相應(yīng)的目錄。zCkLinux聯(lián)盟

     

    這里,我們把ACE安裝在/home/zhc/ace/的目錄下,先執(zhí)行zCkLinux聯(lián)盟

    mkdir /home/zhc/ace

  2. 然后將獲得的ACE源代碼包解至該目錄下。zCkLinux聯(lián)盟

     

    tar zxvf ACE-5.4.tar.gz /home/zhc/ace

  3. 這時(shí),在ace的目錄下會(huì)建立一個(gè)名為ACE_wrappers的子目錄,ACE所有的源代碼、工具、和例子都在這個(gè)目錄中。zCkLinux聯(lián)盟

     

    先進(jìn)入該目錄,執(zhí)行zCkLinux聯(lián)盟

    cd /home/zhc/ace/ACE_wrapperszCkLinux聯(lián)盟

    然后建立一個(gè)子目錄,用于存放ACE編譯后的目標(biāo)文件zCkLinux聯(lián)盟

    mkdir buildzCkLinux聯(lián)盟

    cd build

  4. 接著,執(zhí)行configure腳本,檢查你的系統(tǒng)環(huán)境,配置并生成適合你的系統(tǒng)的Makefile文件。zCkLinux聯(lián)盟

     

    在執(zhí)行configure腳本時(shí),可以加入許多配置選項(xiàng),其詳細(xì)說明可以參看ACE_wrappers目錄下的ACE-INSTALL.html文件,zCkLinux聯(lián)盟

    對于Redhat9系統(tǒng)來說,不必加任何參數(shù),ACE就可以很好的工作了。zCkLinux聯(lián)盟

    ../configure

  5. 在漫長的檢查和配置之后,如果沒有什么問題,你就可以開始編譯了。zCkLinux聯(lián)盟

     

    這一步很簡單,執(zhí)行zCkLinux聯(lián)盟

    makezCkLinux聯(lián)盟

    然后,泡一杯茶,靜靜的等待就行了。

  6. 如果編譯順利的通過(通常都會(huì)是這樣的),那么恭喜你,你已經(jīng)成功了一大半了,下面要做的僅僅是以些配置工作而已。zCkLinux聯(lián)盟

     

    接下來的工作是安裝,這一步是可選的,目的是把編譯生成的ACE的庫文件、頭文件和手冊頁等安裝到/usr/local的相應(yīng)目錄中去,為了今后使用的方便,我建議你還是進(jìn)行這一步,執(zhí)行zCkLinux聯(lián)盟

    suzCkLinux聯(lián)盟

    root's passwordzCkLinux聯(lián)盟

    make install

  7. 安裝之后,我們就可以進(jìn)行最后的配置工作了。zCkLinux聯(lián)盟

     

    首先設(shè)置環(huán)境變量ACE_ROOT,執(zhí)行zCkLinux聯(lián)盟

    setenv ACE_ROOT /home/zhc/ace/ACE_wrapperszCkLinux聯(lián)盟

    注意其中的路徑要根據(jù)你的實(shí)際情況而定zCkLinux聯(lián)盟

    如果你不想每次都手工設(shè)定路徑,可以編輯你的bash的配置文件,執(zhí)行zCkLinux聯(lián)盟

    cdzCkLinux聯(lián)盟

    vi .bash_profilezCkLinux聯(lián)盟

    在其中填加如下兩行zCkLinux聯(lián)盟

    ACE_ROOT=/home/work/research/ace/ACE_wrapperszCkLinux聯(lián)盟

    export ACE_ROOT

  8. 然后,在$ACE_ROOT/ace目錄中創(chuàng)建一個(gè)名為config.h的文件,在其中包含如下一行zCkLinux聯(lián)盟

     

    #include "ace/config-linux.h"zCkLinux聯(lián)盟

    或者,簡單起見,你也可以直接建立一個(gè)指向config-linux.h的符號(hào)鏈接,執(zhí)行zCkLinux聯(lián)盟

    ln -s config-linux.h config.h

  9. 同樣,在$ACE_ROOT/include/makeinclude目錄中創(chuàng)建一個(gè)名為platform_macros.GNU的文件,在其中包含如下一行zCkLinux聯(lián)盟

     

    include $(ACE_ROOT)/include/makeinclude/platform_linux.GNUzCkLinux聯(lián)盟

    或者,簡單起見,你也可以直接建立一個(gè)指向platform_linux.GNU的符號(hào)鏈接,執(zhí)行zCkLinux聯(lián)盟

    ln -s platform_linux.GNU platform_macros.GNU

  10. 最后一步,設(shè)置環(huán)境變量LD_LIBRARY_PATH,執(zhí)行zCkLinux聯(lián)盟

     

    setenv LD_LIBRARY_PATH $ACE_ROOT/ace:$ACE_ROOT/lib:zCkLinux聯(lián)盟

    /usr/local/lib:$LD_LIBRARY_PATHzCkLinux聯(lián)盟

    或者在~/.bash_profile文件中添加如下兩行zCkLinux聯(lián)盟

    LD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib:zCkLinux聯(lián)盟

    /usr/local/lib:$LD_LIBRARY_PATHzCkLinux聯(lián)盟

    export LD_LIBRARY_PATH

 

安裝完成:zCkLinux聯(lián)盟

經(jīng)過上面的步驟,ACE已經(jīng)安裝到了您的系統(tǒng)上了,下面我們將編譯并執(zhí)行ACE的例程以驗(yàn)證我們的工作。zCkLinux聯(lián)盟

這里我們以《C++網(wǎng)絡(luò)編程,卷一》所帶的例子為例。zCkLinux聯(lián)盟

  1. 進(jìn)入例程目錄,執(zhí)行zCkLinux聯(lián)盟

     

    cd $(ACE_ROOT)/examples/C++NPv1

  2. 編譯例子程序,執(zhí)行zCkLinux聯(lián)盟

     

    makezCkLinux聯(lián)盟

    如果前面的安裝和配置正確,很快就能夠得到編譯后的例子程序。

  3. 分別執(zhí)行一個(gè)服務(wù)器程序(隨便哪一個(gè)都行)和一個(gè)客戶端程序(Logging_Client),如果程序運(yùn)行正確,說明前面的安裝和配置成功,下面你就可以開始你的ACE學(xué)習(xí)之旅了

 

補(bǔ)充

 

下載ace 5.6
在根目錄下建立一個(gè)文件夾
mkdir /ace
把下載的ace包移過去,解壓得到一個(gè)文件夾ACE_wrappers
然后進(jìn)入這個(gè)文件夾,看看里面的readme就可以曉得,linux下如何編譯和安裝
網(wǎng)上很多人說要建立一個(gè)config.h的文件,那是好多年前的老皇歷了,readme里面沒有說要建立這么個(gè)玩意,那就不建立。
直接進(jìn)入主題,編譯:
cd  /ace/ACE_wrappers
mkdir build
cd build
../configure 我們使用默認(rèn)的option
make
make install
過程很快,然后我們進(jìn)入到/usr/local目錄下,可以看到include里面有ace要用的頭文件,lib里面有ace要用的庫文件
linux的庫文件 的搜索路徑如下:
/usr/include
/usr/local/include
/usr/lib/gcc-lib/i386-linux/2.95.2/include
/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../include/g -3
/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../i386-linux/include
因此,我們不用設(shè)置ace的頭文件了。
但是ace庫文件不是linux的自帶的默認(rèn)的庫文件,因此我們使用的時(shí)候要帶上,而ace現(xiàn)在的庫文件并不是系統(tǒng)的,先看一下默認(rèn)的:
 默認(rèn)的動(dòng)態(tài)庫搜索路徑/lib和/usr/lib
我們把a(bǔ)ce所在的庫文件路徑添加進(jìn)去:
一:
在/etc/bashrc中加入:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
重啟
二:
打開/etc/ld.so.conf
本來內(nèi)容是如下:
include ld.so.conf.d/*.conf
我們添加ace路徑后變成如下
include ld.so.conf.d/*.conf
/usr/local/lib
保存退出!
然后執(zhí)行    ldconfig
就可以了。
下面我們弄一個(gè)簡單的ace程序:
/////////////////////////hello.cpp
#include "ace/OS.h"
#include "ace/Log_Msg.h"
 
int main (int argc, char *argv[])
{
          ACE_DEBUG((LM_DEBUG,"Hello, ACE!\n"));
          ACE_OS::exit(1);
          return 0;
}

這么就不寫makefile了,直接用g++編譯就是了。
編譯
g++ hello.cpp -o hello -lACE
運(yùn)行:
./hello
結(jié)果:
[root@BTazuo ~]# ./hello
Hello, ACE!

 

posted @ 2008-12-31 13:37 YG 閱讀(922) | 評論 (0)編輯 收藏

2008年12月30日

'TryEnterCriticalSection' 錯(cuò)誤

  隔了一段時(shí)間后來重新編譯原本還可以編譯運(yùn)行的程序,在DEBUG下還是正常,但是換成release后就出現(xiàn)了下載問題
'TryEnterCriticalSection' : is not a member of '`global namespace''


解決方法:
處理辦法:在stdafx.h或程序開始處中增加如下宏定義,即可。
用于指明WINDOWS系統(tǒng)版本。

//for use TryEnterCriticalSection
#ifndef _WIN32_WINNT
# define _WIN32_WINNT 0x500
#endif

posted @ 2008-12-30 12:49 YG 閱讀(1510) | 評論 (0)編輯 收藏

linux配置問題匯總

》 掛載新區(qū)步驟
      加了新硬盤后,用Mount掛載上去總是失敗,原來要先格式化才能再掛載上去,方法如下:

1、mkfs.ext3 -b 1024 -i 1024 /dev/ram5  //用內(nèi)存虛擬硬盤進(jìn)行格式化,定義inode號(hào)與block size號(hào)一致,對小文件來說更優(yōu)。整個(gè)系統(tǒng)所能存儲(chǔ)的文件數(shù)較少。

2、mkfs.ext3 -b 1024 -i 4096 /dev/ram5  //改變block size,使4個(gè)block與1個(gè)inode相對應(yīng),這種好處是對大文件來說節(jié)省空間,節(jié)省inode數(shù)量,整個(gè)系統(tǒng)所能存儲(chǔ)的文件數(shù)較多。

3、mkdir /mnt/mem5   //創(chuàng)建掛裝目錄

4、mount /dev/ram5 /mnt/mem5   將虛擬的分區(qū)掛載到mem5目錄中

5、tune2fs -l /dev/ram5  //驗(yàn)證當(dāng)前磁盤格式


Others
1、mkfs.ext2 -b 1024 -i 1024 /dev/ram6  //創(chuàng)建ext2格式分區(qū)

2、tune2fs -j /dev/ram5  //改變分區(qū)

3、tune2fs -l /dev/ram5 //驗(yàn)證

》刪除無效硬盤懸掛區(qū)

vi /ect/fstab

》 顯示亂碼
修改/etc/sysconfig/i18n  文件
把里面的LANG="en_US"改成 GB2312就可以了

》網(wǎng)絡(luò)配置
1)臨時(shí)修改
#IP配置,包括子網(wǎng)掩碼,看情況修改eth0和192.168.1.22

ifconfig   eth0   192.168.1.22   netmask   255.255.255.0   up

#網(wǎng)關(guān)修改   ,看情況修改192.168.1.2

route   add   default   gw   192.168.1.2

2)永久修改
 修改配置:/etc/sysconfig/network-scripts/ifcfg-eth0
  
  DEVICE=eth0
  NOBOOT=yes
  BOOTPROTO=static
  IPADDR=192.168.1.9
  NETMASK=255.255.255.0
  GATEWAY=192.168.1.1
2: DNS   /etc/resolv.conf
   支持三個(gè)
nameserver 192.168.1.1


》環(huán)境變量
1:當(dāng)前目錄
export LD_LIBRARY_PATH=$(pwd)

export PATH=/xxxxxx/:$PATH

2:找不到so庫問題
error while loading shared libraries
在/etc/ld.so.conf加入所在庫的路徑,存檔后執(zhí)行「/sbin/ldconfig –v」。

"."代表當(dāng)前路徑

posted @ 2008-12-30 11:48 YG 閱讀(260) | 評論 (0)編輯 收藏

2008年9月9日

[游戲開發(fā)]工廠模式

游戲編程是我業(yè)余的愛好,也可以提高對編程的興趣,每當(dāng)我有時(shí)間的時(shí)候就會(huì)編寫游戲,基于圖片的問題所以首選小游戲。這是我畢業(yè)后第二款小游戲,相比上一款充分的運(yùn)用了面向?qū)ο蟮募夹g(shù),讓我享受與不斷做類的完善,特別提出的是使用遞歸技術(shù)使得算法更加簡潔確實(shí)是個(gè)很不錯(cuò)的技術(shù),比如:游戲中的地圖整行消除判斷以及消除。

目前的設(shè)計(jì)情況如下:
(有寫沒必要的函數(shù)省略了,初次使用UML圖)

此貼主要是想探討類的設(shè)計(jì),標(biāo)題上寫了工廠模式,這里只是簡單的把UI創(chuàng)建放到另外一個(gè)地方罷了,嚴(yán)格來說應(yīng)該不算是什么工廠,但是主要是代碼
易讀維護(hù)性高就可以了.開發(fā)環(huán)境:VS2005,WIN32、 C++、DX9


如果要增加其他按鈕只要繼承ImageUI,和實(shí)現(xiàn)基類的存虛擬函數(shù)就可以。基類的事件觸發(fā)如下代碼。

PUG_BTN_STAT CImageUI::OnEven(UINT msg, WPARAM wParam, LPARAM lParam)
{
    POINTS xy;
    xy 
= MAKEPOINTS(lParam);
    POINT xy2;
    xy2.x 
= xy.x;
    xy2.y 
= xy.y;

    
switch(msg)
    {      
    
case WM_MOUSEMOVE:
           {
            
if(PtInRect(&_displaySize,xy2))
            {
                OnPass();
                
return PASS;
            }
           }
           
break;
      
case WM_LBUTTONDOWN:
           {
            
if(PtInRect(&_displaySize,xy2))
            {
                OnClick();
                
return ONCLICK;
            }
           }
           
break;
      
case WM_LBUTTONUP:
          {
            
if(PtInRect(&_displaySize,xy2))
            {
                OnClickOut();
                
return ONCLICKOUT;
            }
          }
          
break;
    }

    OnPassOut();
    
return COMMAND;
}


游戲圖片如下:




游戲下載:
/Files/YGFaith/elsfkGame.rar

posted @ 2008-09-09 23:37 YG 閱讀(1680) | 評論 (0)編輯 收藏

2008年8月29日

觀察者模式(Subject/Observer)

定義:對象間的一對多的依賴關(guān)系,當(dāng)一個(gè)對象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對象都得到通知并被自動(dòng)更新。 

功能:搜索數(shù)據(jù)庫,當(dāng)有需要公布的數(shù)據(jù)將其用各種方式發(fā)送出去。
 
觀察者模式無疑能很好的做到上面的要求,無論要多少種方式,只要增加多個(gè)繼承之ITransfer接口的派生類即可,有很好的維護(hù)性。

以下是實(shí)際的應(yīng)用.



//接口
//ITransfer.h
#pragma once

class ITransfer
{
public:
    
virtual bool DoTransfer(...= 0;
}
;


//FetionTransfer.h
#pragma once
   #include "Transfer.h"
class CFetionTransfer:public ITransfer
{
public:
    CFetionTransfer();
    
~CFetionTransfer();
    
bool DoTransfer(...);
private:
    ......
}
;


//MailTransfer.h
#pragma once
   #include "Transfer.h"
class CMailTransfer: public ITransfer
{
public:
    CMailTransfer();
    
 ~CMailTransfer();
    
bool DoTransfer(...);
private:
....
}
;


//TransferPool.h
#pragma once

#include 
"Transfer.h"
#include 
<vector>
using namespace std;

class CTransferPool
{
private:
    vector
<ITransfer*> vo;
public:
    
virtual ~CTransferPool();

    
void Login(ITransfer* po);

    
void Logout(ITransfer* po);
   
//向各成員廣播消息
    void Notify(...);
}
;

//TransferPool.cpp
#include "TransferPool.h"

CTransferPool::
~CTransferPool()
{
    vector
<ITransfer*>::iterator vi = vo.begin();
    
for (; vi != vo.end(); vi++)
    
{
                 if(*vi)
                    {
                        delete *vi;
                         *vi = NULL;
                    }

    }

}


void CTransferPool::Login(ITransfer* po)
{
    vo.push_back(po);
}


void CTransferPool::Logout(ITransfer* po)
{
    vector
<ITransfer*>::iterator vi = vo.begin();
    
for (; vi != vo.end(); vi++)
    
{
        
if (*vi == po)
            vo.erase(vi);
    }

}


void CTransferPool::Notify(...)
{
    vector
<ITransfer*>::iterator vi = vo.begin();
    
for (; vi != vo.end(); vi++)
    
{
        ITransfer 
*= *vi;
            
        (
*vi)->DoTransfer(...);
    }

}


void main
{
    CTransferPool
*m_pTranPool= new CTransferPool();
    
    CFetionTransfer 
*m_pFetionTran = new CFetionTransfer(...);
    CMailTransfer 
*m_pMailTran = new CMailTransfer(...);

    m_pTranPool
->Login(m_pFetionTran);
    m_pTranPool
->Login(m_pMailTran);
       
        
while(需要發(fā)送消息)
        
{
            m_pTranPool
->Notify();
        }


        
//釋放
          if(m_pTranPool)
        
{
            delete m_pTranPool;
            m_pTranPool 
= NULL;
        }


}

posted @ 2008-08-29 15:49 YG 閱讀(1836) | 評論 (5)編輯 收藏

2008年8月21日

求兩個(gè)數(shù)中最大值,不用判斷語句。

 

#include "iostream.h" 
#include 
"math.h" 

#define bits ( sizeof( int ) * 8 - 1 ) 
static int CheckFlag( int x, int y )  
{  
int s1 = x >> bits;  
int s2 = y >> bits;  
s1
=abs(s1); 
s2
=abs(s2); 
return ( s1 * 2 + s2 );  
}  
static int SameSign( int Flag, int x, int y ) 
{  
int t[2= { x, y }; 
long z = x - y; 
int s = z >> (bits+32);  
s
=abs(s); 
return t[s]; 
}  
static int DiffSign(int Flag,int x,int y) 比較 
{  
int t[2= { x, y };  
return t[Flag - 1]; 

static int (*FuncList[4])(int Flag,int x,int y)={SameSign, DiffSign, DiffSign, SameSign};  
static int Max( int x, int y )  
{  
int Flag = CheckFlag( x, y );  

return (*FuncList[Flag])(Flag,x,y);  

void main()  

int x,y,z; 
cout
<<"請輸入整型x的值(-32768~32767):"
cin
>>x; 
cout
<<"請輸入整型y的值(-32768~32767):"
cin
>>y; 
z
=Max(x,y); 
cout
<<"最大的數(shù):"<<z<<endl; 
}  



#define bits ( sizeof( int ) * 8 - 1 ) //移動(dòng)的位數(shù)
static int SameSign( int Flag, int x, int y ) //函數(shù)功能:x,y同號(hào)時(shí)的比較
static int DiffSign(int Flag,int x,int y) //函數(shù)功能:x,y異號(hào)時(shí)的比較
static int (*FuncList[4])(int Flag,int x,int y)={SameSign, DiffSign, DiffSign, SameSign}; //定義函數(shù)指針數(shù)組
static int Max( int x, int y ) //函數(shù)功能:求最大值

static int CheckFlag( int x, int y ) //函數(shù)功能:檢測x,y的符號(hào)
/*
Flag 的值
+ +:0
- +;1
+ 1:2
- -:3
*/

posted @ 2008-08-21 14:20 YG 閱讀(3248) | 評論 (11)編輯 收藏

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久嫩草精品久久久精品| 亚洲国产小视频| 欧美日韩伦理在线免费| 久久精品视频免费观看| 亚洲一区二区久久| 欧美激情一区在线观看| 久久精品国产精品亚洲精品| 一本色道久久综合亚洲精品不卡| 极品少妇一区二区三区| 国产精品盗摄一区二区三区| 欧美高清视频在线| 久久亚洲欧洲| 久久成人免费电影| 欧美一级黄色网| 一区二区三区日韩| 99国产一区| 亚洲日本成人网| 欧美丰满少妇xxxbbb| 久久中文字幕一区二区三区| 欧美一级免费视频| 亚洲欧美日韩一区在线| 亚洲图中文字幕| 夜夜夜精品看看| 一本久道综合久久精品| 亚洲美女福利视频网站| 亚洲激情网址| 91久久国产综合久久| 亚洲国产精品一区二区三区| 影音先锋亚洲视频| 在线观看不卡av| 在线日韩欧美| 亚洲欧洲另类国产综合| 亚洲欧洲精品一区二区三区不卡 | 国产精品夜夜嗨| 国产精品久久久久久超碰| 欧美性淫爽ww久久久久无| 欧美午夜女人视频在线| 国产精品va在线| 国产精品综合| 国产一区二三区| 亚洲成色777777在线观看影院| 在线视频国产日韩| 亚洲精品国产精品乱码不99| 亚洲毛片一区二区| 亚洲一区二区视频在线观看| 亚洲欧美一级二级三级| 欧美一区二区视频观看视频| 久久精品日韩欧美| 欧美成人精品高清在线播放| 亚洲电影免费在线| 99国产精品99久久久久久| 亚洲一级在线观看| 欧美在线视频一区二区三区| 久久免费视频这里只有精品| 欧美成人第一页| 国产精品v欧美精品v日韩| 国产日韩欧美黄色| 在线免费精品视频| 在线视频欧美日韩| 欧美一级成年大片在线观看| 久久亚洲精品一区二区| 亚洲国产精品123| 一区二区三区福利| 久久精品亚洲乱码伦伦中文| 欧美国产日韩精品| 国产精品入口麻豆原神| 一区二区三区在线高清| 一区二区高清视频在线观看| 欧美一级片在线播放| 免费观看30秒视频久久| 亚洲美女中文字幕| 欧美一区视频| 欧美日韩国产成人在线免费| 国产日韩欧美成人| 亚洲美女免费视频| 久久九九热免费视频| 91久久综合| 欧美在线一二三| 欧美日韩一区二区三区四区五区| 国产亚洲成av人在线观看导航 | 狼狼综合久久久久综合网| 欧美日韩色婷婷| 伊人久久婷婷| 午夜亚洲福利在线老司机| 欧美黄色日本| 亚洲欧美中文字幕| 欧美另类一区| 在线观看91久久久久久| 午夜精品久久久久久久99热浪潮| 欧美丰满高潮xxxx喷水动漫| 亚洲一区二区网站| 欧美精品国产精品| 一区二区视频欧美| 欧美一区二区高清| 亚洲欧洲在线一区| 久久婷婷久久一区二区三区| 国产精品免费小视频| 日韩视频在线一区| 麻豆乱码国产一区二区三区| 亚洲天堂av图片| 欧美日韩大片| 亚洲精品一区二区三区四区高清| 久久精品免费电影| 亚洲一区二区三区精品在线| 欧美人成免费网站| 亚洲国内自拍| 麻豆精品网站| 欧美影院午夜播放| 国产美女精品视频免费观看| 亚洲一区二区四区| 日韩一区二区高清| 欧美激情免费在线| 亚洲国产精品精华液网站| 久久综合久久久| 久久9热精品视频| 国产视频在线一区二区| 午夜精品久久久久久| 一本色道久久88精品综合| 欧美精品一区二区三区蜜臀| 亚洲国产精品第一区二区| 久久在线免费观看| 久久精品中文字幕一区| 国内精品国产成人| 久久青青草综合| 久久久97精品| 尤物99国产成人精品视频| 狂野欧美一区| 久久综合国产精品| 亚洲国产精品va在线看黑人| 嫩草伊人久久精品少妇av杨幂| 久久亚洲二区| 亚洲区第一页| 91久久精品一区二区别| 欧美精品久久一区二区| 亚洲深夜福利在线| 一区二区av| 国产欧美另类| 久久综合狠狠综合久久激情| 久久久久久久成人| 亚洲国产美女| 亚洲精品久久久久久久久久久久 | 亚洲欧美日韩中文视频| 亚洲在线中文字幕| 国产视频在线观看一区二区三区| 久久久久久日产精品| 久久精品亚洲乱码伦伦中文| 亚洲丶国产丶欧美一区二区三区| 欧美高清视频在线| 欧美日韩国产综合视频在线观看| 亚洲一区亚洲| 性8sex亚洲区入口| 亚洲电影免费观看高清完整版在线观看| 欧美福利网址| 欧美日韩视频| 久久激情网站| 欧美成人tv| 亚洲欧美视频在线观看| 久久国产精品久久精品国产| 亚洲第一狼人社区| av成人天堂| 韩日欧美一区| 亚洲欧洲在线观看| 国产啪精品视频| 亚洲盗摄视频| 国产精品美腿一区在线看| 久久综合999| 欧美日韩在线视频观看| 久久久久久一区| 欧美日韩福利| 久久精品国产999大香线蕉| 毛片一区二区三区| 午夜激情综合网| 美国十次了思思久久精品导航| 亚洲午夜视频在线观看| 欧美有码在线观看视频| 一个人看的www久久| 欧美亚洲一区二区三区| 日韩视频精品在线观看| 久久大综合网| 亚洲午夜精品福利| 久久精品综合| 午夜精品久久久久久久99热浪潮| 久久久久久久国产| 性欧美xxxx大乳国产app| 美女啪啪无遮挡免费久久网站| 午夜视频精品| 欧美精品色网| 免费成人av在线看| 国产精品主播| 日韩视频在线一区二区| 亚洲国产精品99久久久久久久久| 亚洲已满18点击进入久久| 亚洲黄色有码视频| 久久成人综合视频| 亚洲免费在线看| 欧美日韩国产精品自在自线| 免费欧美日韩| 国产在线观看91精品一区| 亚洲视频一区二区在线观看| 亚洲美女av黄|