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

隨筆 - 8, 文章 - 0, 評(píng)論 - 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ī)手冊(cè)的中文翻譯
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的比較請(qǐng)見文章:
《比較官方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/(注:需要注冊(cè)為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/(注:需要注冊(cè)為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 閱讀(963) | 評(píng)論 (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 閱讀(755) | 評(píng)論 (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.對(duì)于典型的Redhat9系統(tǒng),autoconf程序的版本可能過低,你需要首先升級(jí)它。zCkLinux聯(lián)盟

   升級(jí)的步驟如下: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中的安裝說明,編譯并安裝升級(jí)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)盟

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

    ../configure

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

     

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

    makezCkLinux聯(lián)盟

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

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

     

    接下來的工作是安裝,這一步是可選的,目的是把編譯生成的ACE的庫文件、頭文件和手冊(cè)頁等安裝到/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)盟

    或者,簡(jiǎ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)盟

    或者,簡(jiǎ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è)簡(jiǎn)單的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 閱讀(915) | 評(píng)論 (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 閱讀(1505) | 評(píng)論 (0)編輯 收藏

linux配置問題匯總

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

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

2、mkfs.ext3 -b 1024 -i 4096 /dev/ram5  //改變block size,使4個(gè)block與1個(gè)inode相對(duì)應(yīng),這種好處是對(duì)大文件來說節(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 閱讀(249) | 評(píng)論 (0)編輯 收藏

2008年9月9日

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

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

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

此貼主要是想探討類的設(shè)計(jì),標(biāo)題上寫了工廠模式,這里只是簡(jiǎn)單的把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 閱讀(1673) | 評(píng)論 (0)編輯 收藏

2008年8月29日

觀察者模式(Subject/Observer)

定義:對(duì)象間的一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(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 閱讀(1822) | 評(píng)論 (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
<<"請(qǐng)輸入整型x的值(-32768~32767):"
cin
>>x; 
cout
<<"請(qǐng)輸入整型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ù)功能:檢測(cè)x,y的符號(hào)
/*
Flag 的值
+ +:0
- +;1
+ 1:2
- -:3
*/

posted @ 2008-08-21 14:20 YG 閱讀(3233) | 評(píng)論 (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>
            欧美精品三级日韩久久| 亚洲欧美亚洲| 蜜桃av噜噜一区| 亚洲女性裸体视频| 亚洲精品亚洲人成人网| 久久裸体视频| 免费在线看成人av| 麻豆av一区二区三区| 久久久精品国产免费观看同学| 亚洲尤物在线视频观看| 亚洲精品四区| 亚洲一区二区三区色| 亚洲天堂成人在线观看| 国产一区二区精品久久| 免费的成人av| 欧美激情一区二区三级高清视频 | 欧美日韩国产在线观看| 亚洲电影在线| 亚洲精品久久嫩草网站秘色| 亚洲精品国产精品久久清纯直播| 亚洲二区在线观看| 永久91嫩草亚洲精品人人| 亚洲高清av| 亚洲在线中文字幕| 玖玖国产精品视频| 亚洲高清激情| 99热在这里有精品免费| 午夜精品久久久久影视| 欧美激情一区在线| 国产亚洲福利一区| 亚洲欧美电影院| 亚洲国产高清高潮精品美女| 亚洲一区二区三区免费观看| 欧美久久久久久久| 在线精品亚洲| 久久精品麻豆| 亚洲一区影院| 国产精品美女视频网站| 亚洲影音先锋| 亚洲性线免费观看视频成熟| 欧美精品在线网站| 亚洲视频中文字幕| 亚洲美女黄网| 欧美午夜精品理论片a级大开眼界| 亚洲精品久久久一区二区三区| 久久婷婷综合激情| 久久久久久久性| 日韩亚洲在线观看| 亚洲一二区在线| 国产日韩一区| 亚洲国产精品久久久| 久久久水蜜桃av免费网站| 香蕉久久a毛片| 亚洲国产黄色| 一区二区三区精密机械公司| 国产精品人人做人人爽人人添| 亚洲尤物在线| 欧美在线亚洲在线| 亚洲美洲欧洲综合国产一区| 一区二区三区高清在线| 国产永久精品大片wwwapp| 亚洲电影中文字幕| 国产视频综合在线| 亚洲人成艺术| 在线观看视频欧美| 99精品久久| 亚洲高清精品中出| 香蕉av福利精品导航| 宅男噜噜噜66一区二区| 久久伊人精品天天| 欧美在线91| 欧美中文字幕在线| 亚洲在线不卡| 国产乱码精品一区二区三区av| 亚洲国产日韩在线一区模特| 亚洲激情视频在线| 国内外成人免费视频| 一本色道久久综合狠狠躁的推荐| 伊人蜜桃色噜噜激情综合| 亚洲欧美中文日韩v在线观看| 中文精品视频| 欧美女主播在线| 亚洲精品专区| 中国成人亚色综合网站| 欧美色偷偷大香| 亚洲精品国产精品久久清纯直播| 亚洲第一视频| 狼人天天伊人久久| 国产主播一区| 久久综合一区二区| 亚洲电影下载| 亚洲综合色网站| 好吊妞这里只有精品| 久久久久久久网站| 最新国产精品拍自在线播放| 一本色道久久综合亚洲精品按摩 | 亚洲欧美美女| 国产一区在线视频| 欧美日韩中字| 久久亚洲综合网| 香蕉成人伊视频在线观看| 国产精品美女主播| 美女精品视频一区| 一本久久青青| 亚洲大片一区二区三区| 亚欧成人精品| 亚洲一区免费在线观看| 99精品国产一区二区青青牛奶| 国产精品久久久久久影视| 欧美好吊妞视频| 久久麻豆一区二区| 先锋影音久久| 午夜亚洲福利在线老司机| 99国内精品| 亚洲精品久久久久久久久久久| 久久免费99精品久久久久久| 亚洲欧美三级伦理| 亚洲欧美日本伦理| 亚洲欧美日韩一区二区| 亚洲私人影吧| 久久久久国产成人精品亚洲午夜| 亚洲综合日韩在线| 午夜精品久久久久99热蜜桃导演| 一本一本大道香蕉久在线精品| 亚洲巨乳在线| 亚洲新中文字幕| 欧美日韩免费在线观看| 欧美国产日韩免费| 欧美视频网址| 国产综合视频在线观看| 国产一区二区三区的电影| 黄页网站一区| 在线亚洲免费| 久久成年人视频| 欧美激情免费观看| 中国成人在线视频| 久久久久国产一区二区三区四区 | 91久久精品国产91久久性色| 欧美黄色一区二区| 亚洲欧美美女| 欧美好骚综合网| 国产欧美日韩专区发布| 亚洲欧洲精品一区| 欧美一区二区三区久久精品茉莉花 | 欧美一区二区三区四区夜夜大片 | 久久天堂精品| 日韩午夜精品视频| 裸体一区二区| 狠狠入ady亚洲精品| 欧美在线视频日韩| 亚洲视频大全| 国产精品福利片| 宅男噜噜噜66国产日韩在线观看| 久久精品视频在线看| 亚洲一区二区三区久久| 国产精品夫妻自拍| 中国女人久久久| 99re亚洲国产精品| 欧美日韩直播| 午夜在线电影亚洲一区| 亚洲一区在线播放| 国产视频亚洲精品| 久久亚洲精品一区| 国产女人水真多18毛片18精品视频| 一本色道久久综合亚洲精品按摩 | 亚洲婷婷免费| 欧美日韩精品一区二区三区四区| 亚洲区在线播放| 日韩亚洲欧美成人一区| 国产精品综合av一区二区国产馆| 性色av香蕉一区二区| 亚洲欧美日韩精品| 亚洲激情视频网站| 在线视频你懂得一区| 国产亚洲精品bt天堂精选| 免费亚洲电影在线| 欧美日韩精品欧美日韩精品 | 欧美一区二区视频免费观看| 亚洲无线一线二线三线区别av| 一区二区三区国产精华| 亚洲婷婷在线| 国产精品资源在线观看| 欧美成年人视频| 国产精品h在线观看| 久久夜色精品亚洲噜噜国产mv| 欧美日韩1区2区| 欧美成人精品高清在线播放| 欧美人成在线| 亚洲日韩欧美视频一区| 国产亚洲观看| 亚洲在线第一页| 中日韩男男gay无套| 欧美jizzhd精品欧美喷水| 久久岛国电影| 国产视频在线观看一区| 亚洲欧美视频在线| 午夜欧美不卡精品aaaaa| 欧美成人免费网站| 国产亚洲欧美一区在线观看 | 亚洲区一区二|