un
{
int
i
double
y
}
确实是取最大的8
所以只将char部分注释掉得到8
char
a[10]单独页确实是10
但是结构体的sizeof有个存储空间对齐的问题,
char
a[10]union
un
b两个a本来是10个字符,但是b他一个就是8,那整个就要和8对齐,10个有8个可以对齐,剩下两个后面只好加6个空补足了和8对齐了
对DLL的调试是一个热门话题,上网搜索了一下,发现很多相关的信息,但几乎全部是没有进行验证的摘抄,很鄙视这种行为。所以我在浏览的一些国外的网站后,结合自己的经验写下我在vs 2008编译平台上调试DLL的方法。按照我描述的方法如果你还不能在DLL里打断点进行调试的话,那就找块板砖,拍我,或者拍你自己!在 C++ 项目中指定调用应用程序
在“解决方案资源管理器”中选择 DLL 项目。
从“视图”菜单中,选择“属性页”。
在“Project 属性页”窗口的“配置”下拉列表中,选择“调试”。
打开“配置属性”文件夹并选择“调试”类别。
在“要启动的调试器”列表框中,选择“本地 Windows 调试器”或“远程 Windows 调试器”。
关键是第六条和第七条,这才是这个方法的精髓部分。
6. 在“命令”或“远程命令”框中,单击下拉箭头,并从列表中选择“浏览”以浏览指定应用程序,或键入应用程序的路径和名称。
方法:在“命令”中输入rundll32.exe。
7. 在“命令参数”框中键入所有需要的程序参数。
方法:在“命令参数”框输入 $(TargetFileName) XXX,其中XXX表示你DLL导出函数的函数名。
在“工作目录”框中输入 $(OutDir) 。
其实“命令参数”和“工作目录”两个框是可以通过点击来进行设置的,由于设置时描述麻烦,就直接输入好了,有兴趣的朋友可以试试怎么设置,设置过程并麻烦的!
好的,设定部分结束了,这是你可以在代码里设定断点,按F5,就可以运行了,这时候会d出一个对话框,说rundll32.exe不能找到,不用理他,点击“是”按钮,继续运行!看看是不是到你的断点处停了下来?
vi有三种工作模式:命令模式、文本编辑模式和最后行模式。不同工作模式下的 *** 作方法有所不同。
1、命令模式:
命令模式是启动vi后进入的工作模式,并可转换为文本编辑模式和最后行模式。在命令模式下,从键盘上输入的任何字符都被当作编辑命令来解释,而不会在屏幕上显示。如果输入的字符是合法的vi命令,则vi就会完成相应的动作否则vi会响铃警告。
2、文本编辑模式:
文本编辑模式用于字符编辑。在命令模式下输入i(插入命令)、a(附加命令)等命令后进入文本编辑模式,此时输入的任何字符都被vi当作文件内容显示在屏幕上。按Esc键可从文本编辑模式返回到命令模式。
3、最后行模式:
在命令模式下,按“:”键进入最后行模式,此时vi会在屏幕的底部显示“:”符号年作为最后行模式的提示符,等待用户输入相关命令。命令执行完毕后,vi自动回到命令模式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)