游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1953|回复: 7

一大堆的问题……

[复制链接]

8

主题

44

帖子

44

积分

注册会员

Rank: 2

积分
44
发表于 2004-12-1 17:06:00 | 显示全部楼层 |阅读模式
首先是:
using的用法,我只知道using namespace。还有其他用法吗?

接下来就是makefile的用法?我一点也不会……

还有就是我在程序里:__asm pop esp 结果就退出程序了……原因?__asm pop ebx就非法操作,原因?

还有就是内联汇编是不是不能:
__asm
{
mov eax,0
mov eax:[2],i
}
我的意思是想更改中断向量表……

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2004-12-1 19:52:00 | 显示全部楼层

Re:一大堆的问题……

1、using还有一种用法,比如你在一个叫test的名字空间中定义了一个变量叫abc,但是你不想将test空间全部导出,只想使用这个变量,可以这样:

namesapce test{
    const int abc = 1;
    ……
}

void main()
{
    using test::abc;
   //在程序里可以使用这个abc了
}

2、makefile 不用自己生成,如果是vc6的话,记得好像有一项叫"export makefile"(同编译命令一个菜单,好像在菜单的最后一项),抱歉,我不在自己的机器上。
3、如果使用的是内嵌汇编的话,好像不用自己清除堆栈吧?
4、老大,在windows上不能更改中断向量表。

8

主题

44

帖子

44

积分

注册会员

Rank: 2

积分
44
 楼主| 发表于 2004-12-1 21:23:00 | 显示全部楼层

Re:一大堆的问题……

感谢楼上。我完全明白了……
还有……能否解释一下函数返回地址这个东西?我会用但是概念不是特别明了……

8

主题

44

帖子

44

积分

注册会员

Rank: 2

积分
44
 楼主| 发表于 2004-12-1 21:27:00 | 显示全部楼层

Re:一大堆的问题……

关于makefile我是在用VC 6的时候看到有这个一个工程的……不知道makefile到底有什么用呢?

8

主题

44

帖子

44

积分

注册会员

Rank: 2

积分
44
 楼主| 发表于 2004-12-1 21:45:00 | 显示全部楼层

Re:一大堆的问题……

顺便发句牢骚……网络编程(从客户向服务器发送封包)好麻烦……

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2004-12-2 00:47:00 | 显示全部楼层

Re:一大堆的问题……

1、关于函数返回地址的问题请描述的再详细一些。
2、其实我们用vc6的集成环境运行程序时,vc6偷偷的帮我们生成了这个项目的makefile,是个叫*.dsp的文件,只不过变了个样子罢了。makefile主要的用处是为脱离集成环境编译程序提供了方便。
3、我对网络编程没有兴趣,所以我没有牢骚,哈哈哈!不过,还是有的,就是每个月的Money不够花!

9

主题

151

帖子

153

积分

注册会员

Rank: 2

积分
153
发表于 2004-12-3 20:01:00 | 显示全部楼层

Re:一大堆的问题……

大家看到“返回地址”这个名词的时候是否一头雾水?那么就让我来介绍一下什么叫返回地址吧。



大家都知道,CPU是一条指令一条指令执行的,并且总是执行指令寄存器eip所指出的地址里的命令的。返回地址其实就是这个过程结束后要执行的下一条指令的地址。比如说:



push pa ;压入参数
lea eax,test
call eax ;这里同时就把返回地址压入栈里了,实际上是push eip+jmp eax
....



在过程内执行RET命令的话,实际上会pop eip。可以想到,如果在一个过程内一进入过程就pop的话,就会得到返回地址。你如果修改了它……就可以在退出过程后执行任意地址的代码了……恐怖吧?这就是缓冲区溢出攻击的原理之一。

13

主题

978

帖子

978

积分

高级会员

Rank: 4

积分
978
发表于 2004-12-4 20:48:00 | 显示全部楼层

Re:一大堆的问题……

对问题一回答的扩展:
  实际这个用法还可以扩展到类域中,不过只限于派生类调用基类的公有函数进行重载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-23 13:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表