|
作者: ziaichen [ziaichen] 论坛用户 | 登录 |
最近在看书和做程序中,遇到几个问题,请大家帮忙解惑 问题1: 我在看jdk下include目录下的函数,看见了一个用c++写的库,用void *定义,请问这是不指空类型的指针,定义这个东西有什么用? 问题2: #endif是什么意思? 问题3:在很多头文件里,定义的只是几个结构体,请问对结构体的处理在哪里看,也就是说头文件怎样起的作用? 问题4:我用vb做了一个程序,有用到第三方控件,我将其生成为可执行文件.exe,并对其打包,别人下载后,提示找不到该控件,可是我已经将它生成为可执行文件,但我认为别人应该可以用的? 请大家帮忙指点下,谢谢~ [此贴被 漏鱼的网(ziaichen) 在 11月20日08时08分 编辑过] |
地主 发表时间: 05-11-19 19:28 |
回复: xyxy [xyxy] 论坛用户 | 登录 |
回答2:你所遇到的这个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 条件编译命令最常见的形式为: #ifdef 标识符 程序段1 #else 程序段2 #endif 它的作用是:当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2。 其中#else部分也可以没有,即: #ifdef 程序段1 #denif 转贴 [此贴被 xyxy(xyxy) 在 11月20日09时44分 编辑过] [此贴被 xyxy(xyxy) 在 11月20日09时44分 编辑过] |
B1层 发表时间: 05-11-20 09:43 |
回复: 286 [unique] 版主 | 登录 |
问题1: 我在看jdk下include目录下的函数,看见了一个用c++写的库,用void *定义,请问这是不指空类型的指针,定义这个东西有什么用? void *表示暂时不知道用什么指针命令,就用了空指针,将来会转变成具体的指针类型。 问题2: #endif是什么意思? 与#if配合使用,在编译的时候让编译器看着办。 问题3:在很多头文件里,定义的只是几个结构体,请问对结构体的处理在哪里看,也就是说头文件怎样起的作用? 哪里有include "头文件",那里就有处理。 问题4:我用vb做了一个程序,有用到第三方控件,我将其生成为可执行文件.exe,并对其打包,别人下载后,提示找不到该控件,可是我已经将它生成为可执行文件,但我认为别人应该可以用的? 第三方控件除了DLL文件本身,还要有个注册过程,一般的方法是 regsvr32 路径\控件.dll |
B2层 发表时间: 05-11-21 09:43 |
回复: ziaichen [ziaichen] 论坛用户 | 登录 |
谢谢286大哥 但是还有些不明白之处 问题 4中 regsvr32 路径\控件.dll 这是指本机注册吗 ? 我用的第三方控件是免费的,我认为不应该再注册的拉,还有我用regsvr32 路径\控件.dll 时候,提示机器找不到指定的摸板? |
B3层 发表时间: 05-11-23 12:36 |
回复: 286 [unique] 版主 | 登录 |
谁要运行你的程序谁运行。 你的机器之所以不用运行,是你安装的时候自动装上去了。你不会运行的命令是“regsvr32 路径\控件.dll”吧? |
B4层 发表时间: 05-11-23 16:21 |
回复: NetDemon [netdemon] ADMIN | 登录 |
要把你的那个第三方控件跟你自己的exe一起给人家 在人家的电脑上还要regsvr32 那个第三方路径.dll 向Windows系统注册, 这个注册跟通常的软件的注册不是一个概念 |
B5层 发表时间: 05-11-23 17:18 |
回复: jhkdiy [jhkdiy] 版主 | 登录 |
制作一个安装程序吧,老兄!安装程序通常可以自动注册控件的,例如使用SetupFactury |
B6层 发表时间: 05-11-23 19:26 |
回复: ziaichen [ziaichen] 论坛用户 | 登录 |
多谢大家的帮忙~~~~~~~ |
B7层 发表时间: 05-11-26 07:39 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号