Ignore:
Timestamp:
Feb 13, 2007, 3:14:57 AM (17 years ago)
Author:
dai_9181
Message:

・コマンドラインオプション "/unicode" に対応。
・Unicode文字セットを使用する場合に "UNICODE" が自動的に#defineされるようにしました。
・SByte型(8ビット符号付き整数型)を追加。
・Char型を文字型に変更。
・プロジェクトオプションから「Unicode文字セットを使用する」チェックを選択できるようにしました。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler_Common/calculation.cpp

    r50 r55  
    162162    if(IsSignedType(type1)||IsSignedType(type2)){
    163163        //符号あり
    164         if(size1==sizeof(char))     return DEF_CHAR;
     164        if(size1==sizeof(char))     return DEF_SBYTE;
    165165        if(size1==sizeof(short))    return DEF_INTEGER;
    166166        if(size1==sizeof(long))     return DEF_LONG;
     
    362362
    363363        if(IsSignedType(AnswerType)){
    364             if(AnswerType==DEF_CHAR&&(i64stack[sp-2]<CHAR_MIN||CHAR_MAX<i64stack[sp-2])){
     364            if(AnswerType==DEF_SBYTE&&(i64stack[sp-2]<CHAR_MIN||CHAR_MAX<i64stack[sp-2])){
    365365                //符号有り8ビット値をはみ出したとき
    366366                AnswerType=DEF_INTEGER;
     
    604604                                    }
    605605                                }
    606                                 else if(i2==DEF_INTEGER){
     606                                else if(i2==DEF_INTEGER || (isUnicode&&i2==DEF_CHAR)){
    607607                                    short shortData;
    608608                                    if(i3=ReadProcessMemory(hDebugProcess,offset,&shortData,sizeof(short),&stAccBytes)){
     
    616616                                    }
    617617                                }
    618                                 else if(i2==DEF_CHAR){
     618                                else if(i2==DEF_SBYTE || (isUnicode==false&&i2==DEF_CHAR)){
    619619                                    char charData;
    620620                                    if(i3=ReadProcessMemory(hDebugProcess,offset,&charData,sizeof(char),&stAccBytes)){
Note: See TracChangeset for help on using the changeset viewer.