P97  CObject *(PASCAL* m_pfnCreateObject)(); 是什么意思?语法不懂?先来这个m_pfnCreateObject是一个函数指针,返回一个指向CObject得指针

解决方案 »

  1.   

    P34  WIN32_FIND_DATA  是什么结构?
            FindFirstFile(API) 的返回值是什么?答:返回一个HANDLE(句柄),它用于FindNextFile()的第二参数,
        是为接下来的“查找”服务的。
    typedef struct _WIN32_FIND_DATA { // wfd 
        DWORD dwFileAttributes; 
        FILETIME ftCreationTime; 
        FILETIME ftLastAccessTime; 
        FILETIME ftLastWriteTime; 
        DWORD    nFileSizeHigh; 
        DWORD    nFileSizeLow; 
        DWORD    dwReserved0; 
        DWORD    dwReserved1; 
        TCHAR    cFileName[ MAX_PATH ]; 
        TCHAR    cAlternateFileName[ 14 ]; 
    } WIN32_FIND_DATA; 
     
      

  2.   

    其实API函数,一定要参考MSDN,它是宝库!!
      

  3.   

    P99  static char _lpsz##class_name[]=#class_name;  “#class_name”的“#” 什么意思?直接引用(没错吧?)
      

  4.   

    问题答案大多可从<<深入浅出MFC>>一书中找到.
      

  5.   

    P91  InitApplication和InitInstance 当然不是会被没个利程所调用,答案参考P21
    #代表后面作为字符串,##连接字符串
    你的问题书上基本都有答案,为什么不仔细看书?现在的读书人可能都太心浮了。
      

  6.   

    nFileSizeLow文件大小低位字是什么意思?
      

  7.   

    P42  线程ID是什么东西?
    刚翻了操作系统的书,线程是进程的一个执行单元,也是进程内可调度的一个实体。其ID就象是一个人的名子了,是它在进程中的唯一标识P52  Console程序的编译链接是怎么回事?我看不懂。
    当使用Microsoft Visual C++来创建应用程序时,这种集成式环境安装了许多不同的链接程序开关,这样,链接程序就可以将相应的子系统嵌入产生的可执行程序。若用Console编译链接其程序入口与在DOS下的一样就是“void main()”若用windows编译链接其程序入口就是“int WINAPI WinMain(...)”了。P57  有的代码中有这样的函数  (  ::+函数名()  )“::"代表什么意思呢?
    ::+函数名()表示这个函数是WIN32API函数P64  虚拟函数表 vtable 是什么意思?
    这个嘛,你得好好看看《Think in c++》这类的讲C++语法的书了。
      

  8.   

    来晚了,来晚了,问题都被回答完了?我看看……呵呵,好像还有个简单的没人回答,我就捡个便宜……C runtime 库函数在win32程序中是什么角色?
    答:CRT函数是C编译器提供的,一般来说,不同版本的C编译器也带有不同版本的CRT函数:针对DOS的C编译器,其CRT函数使用DOS的接口来实现;同样,Win32的C编译器,其CRT会用Win32的Api来实现(malloc就是一个典型的例子)。另外,还有一些CRT函数是作为高级语言的辅助工具,比如字符处理之类,是与操作系统无关的。P36  CStdioFile 的open 和writeString,CString的format 怎么用?有例子吗?
    答:例如你要用读写方式打开一个文件1.txt,用CStdioFile::Open这样写:
    CStdioFile sFile;
    sFile.Open("1.txt", CFile::modeReadWrite);
    你如果要想文件里写入两行字:
    this is just
    a test
    就这样调用writeString函数:
    sFile.WriteString("this is just\na test");
    WriteString函数会自动将'\n'字符换成一个回车换行对(\r\n),并去掉字符串结束的NULL字符。
    CString::Format的用法:
    CString s;
    int i = 1234;
    s.Format("i = %d", i);
    结果s中的字符串将是:"i = 1234"。
    说白了,CString::Format的用法和printf的用法完全类似。