2014-03-12周三工作日志(忙了一天,竟都在忙一些兼容性的小问题)

待办:

        1、为什么相同的数只是类型不同(一个是int型的,一个是DWord型的)就导致大小不一样?

          (已解决,因为DWORD是unsigned long的别称。故对于DWORD常量,0xffffffff>0x1,对于int常量,补码存储数据,故0xffffffff<0x1,0xffffffff表示-1

         2、dll文件http://zhidao.baidu.com/link?url=K1Wjgb11Xom_cfEWh9gGSOfu9FEuxAd04sZ1KMN2H29xJUV3NWjGN-a1d7bFzuM4BSE1LmJ5cc8p4iTxk7JCLK

             3、准备面试题

             4、看windows程序设计那本书。

学到的新知识:

        1、void CopyMemory(目的地址,源地址,要复制的内存块的大小字节数)。作用:将一块内存的数据从一个位置复制到另一个位置。如果目的地址有内容,则需要使用MoveMemory函数。

         如果将字符串复制到一个字符数组的位置上,则需要考虑结束符“\0”

#include<windows.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
{
	char a[100];
	LPCTSTR p="123456789";
	CopyMemory(a,p,10);
	MessageBox(NULL,a,"显示内容",MB_OK);
	return 0;
}

以上的结果为:

123456789    

易错点:1、CopyMemory函数的第一个参数必须为数组首地址,因为是固定的地址,而不能是LPSTR等类型的。

                      2、CopyMemory函数的第三个参数必须至少为第二个参数的长度加1.

                     3、对于第一个参数,还有很多不可告人的隐情:看如下两个例子,只改变了一个数,结果变化这么大:

#include<windows.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
{
	char a[100]={'p'};
	LPCTSTR p="123456789";
	CopyMemory(a+1,p,10);
	MessageBox(NULL,a,"显示内容",MB_OK);
	return 0;
}
结果为:
p123456789
而对于
#include<windows.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
{
	char a[100]={'p'};
	LPCTSTR p="123456789";
	CopyMemory(a+2,p,10);
	MessageBox(NULL,a,"显示内容",MB_OK);
	return 0;
}
结果却为
p
可见……

2、大纲显示outline            切换所有概述toggle all outlining

3、对于_tWinMain(),主要是为了对字符集的兼容。

4、回调函数就是让操作系统调用咱自己写的函数。你调用了系统实现(或者别人)的某个函数(比如 win32 API),而这个函数内又会调用一个由你实现的另一个函数,那么这个另一个函数就是所谓的回调函数。

5、看见_T(“hello”);千万别着急,这也就是为了兼容不同字符集的操作系统来做的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值