VS2010 在编译一个驱动时出现无法解析的外部符号 的解决方法

3 篇文章 0 订阅

今天在用VS2010编译一个驱动时出现 :

1>MSVCRT.LIB(gs_report.obj) : error LNK2019: 无法解析的外部符号 __imp__TerminateProcess@8,该符号在函数 ___report_gsfailure 中被引用     1>MSVCRT.LIB(gs_report.obj) : error LNK2019: 无法解析的外部符号 __imp__GetCurrentProcess@0,该符号在函数 ___report_gsfailure 中被引用     1>MSVCRT.LIB(gs_report.obj) : error LNK2019: 无法解析的外部符号 __imp__UnhandledExceptionFilter@4,该符号在函数 ___report_gsfailure 中被引用     1>MSVCRT.LIB(gs_report.obj) : error LNK2019: 无法解析的外部符号 __imp__SetUnhandledExceptionFilter@4,该符号在函数 ___report_gsfailure 中被引用     1>MSVCRT.LIB(gs_report.obj) : error LNK2019: 无法解析的外部符号 __imp__IsDebuggerPresent@0,该符号在函数 ___report_gsfailure 中被引用


从上面看是引用的MSVCRT.LIB出现冲突,于是把VS2010里链接器 下面的 附加依赖库 中的 MSVCRT.LIB 去掉后编译出现如下错误:

1>wdmsec.lib(chandler4.obj) : error LNK2019: 无法解析的外部符号 @__security_check_cookie@4,该符号在函数 _ValidateLocalCookies 中被引用
1>wdmsec.lib(exsup4.obj) : error LNK2001: 无法解析的外部符号 @__security_check_cookie@4

采用WDK编译 发现编译正常,经对比WDK编译生成的LOG文件,发现调用了BufferOverflowK.lib 和sehupd.lib 这个库,把这两个库加到附加依赖库里再次编译,没有出再无法解析的外部符号.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
(英文版 第三版 中文书签我自己做的 大家要是不喜欢就用福听PDF删除掉我加上去的东西 我还有很多好资源 大家都去逛逛 还有这个是单本的 网上还有个分很多章的) 前言 1 第一章 设备驱动程序简介 9 设备驱动程序的作用 10 内核功能划分 12 设备和模块的分类 14 安全问题 15 版本编号 17 许可证条款 18 加入内核开发社团 19 本书概要 19 第二章 构造和运行模块 21 设置测试系统 21 Hello World模块 22 核心模块与应用程序的对比 24 编译和装载 28 内核符号表 33 预备知识 35 初始化和关闭 36 模块参数 40 在用户空间编写驱动程序 42 .快速参考 44 第三章 字符设备驱动程序 46 scull的设计 46 主设备号和次设备号 47 一些重要的数据结构 53 字符设备的注册 59 open和release 62 scull的内存使用 64 read和write 67 试试新设备 74 快速参考 74 第四章 调试技术 76 内核中的调试支持 76 通过打印调试 78 通过查询调试 85 通过监视调试 94 调试系统故障 96 调试器和相关工具 102 第五章 并发和竞态 109 scull的缺陷 109 并发及其管理 110 信号量和互斥体 111 completion 116 自旋锁 118 锁陷阱 123 除了锁之外的办法 125 快速参考 132 第六章 高级字符驱动程序操作 137 ioctl 137 阻塞型I/O 149 poll和select 163 异步通知 168 定位设备 172 设备文件的访问控制 173 快速参考 179 第七章 间、延迟及延缓操作 183 度量间差 183 获取当前间 188 延迟执行 190 内核定器 196 tasklet 202 工作队列 204 快速参考 208 第八章 分配内存 213 kmalloc函数的内幕 213 后备高速缓存 217 get_free_page和相关函数 221 vmalloc及其辅助函数 225 per-CPU变量 228 获取大的缓冲区 230 快速参考 231 第九章 与硬件通信 235 I/O端口和I/O内存 235 使用I/O端口 239 I/O端口示例 245 使用I/O内存 248 快速参考 254 第十章 中断处理 258 准备并口 259 安装中断处理例程 259 实现中断处理例程 269 顶半部和底半部 274 中断共享 278 中断驱动的I/O 281 快速参考 285 第十一章 内核的数据类型 287 使用标准C语言类型 287 为数据项分配确定的空间大小 289 接口特定的类型 289 其他有关移植性的问题 291 链表 294 快速参考 298 第十二章 PCI驱动程序 300 PCI接口 300 ISA回顾 317 PC/104和PC/104+ 319 其他的PC总线 319 SBus 320 NuBus 321 外部总线 321 快速参考 322 第十三章 USB驱动程序 324 USB设备基础 326 USB和Sysfs 329 USB urb 331 编写USB驱动程序 342 不使用urb的USB传输 352 快速参考 356 第十四章 Linux设备模型 359 kobject、kset和子系统 361 低层sysfs操作 368 热插拔事件的产生 372 总线、设备和驱动程序 374 类 384 各环节的整合 388 热插拔 394 处理固件 401 快速索引 403 第十五章 内存映射和DMA 408 Linux的内存管理 408 mmap设备操作 418 执行直接I/O访问 429 直接内存访问 435 快速参考 453 第十六章 块设备驱动程序 458 注册 459 块设备操作 464 请求处理 468 其他一些细节 484 快速参考 487 第十七章 网络驱动程序 491 snull设计 492 连接到内核 495 net_device结构细节 499 打开和关闭 508 数据包传输 510 数据包的接收 514 中断处理例程 516 不使用接收中断 518 链路状态的改变 521 套接字缓冲区 521 MAC 地址解析 525 定制 ioctl 命令 527 统计信息 528 组播 529 其他知识点详解 533 快速参考 534 第十八章 TTY驱动
LINUX设备驱动第三版_ 前言 第一章 设备驱动程序简介 设备驱动程序的作用 内核功能划分 设备和模块的分类 安全问题 版本编号 许可证条款 加入内核开发社团 本书概要 第二章 构造和运行模块 设置测试系统 Hello World模块 核心模块与应用程序的对比 编译和装载 内核符号表 预备知识 初始化和关闭 模块参数 在用户空间编写驱动程序 快速参考 第三章 字符设备驱动程序 scull的设计 主设备号和次设备号 一些重要的数据结构 字符设备的注册 open和release scull的内存使用 read和write 试试新设备 快速参考 第四章 调试技术 内核中的调试支持 通过打印调试 通过查询调试 通过监视调试 调试系统故障 调试器和相关工具 第五章 并发和竞态 scull的缺陷 并发及其管理 信号量和互斥体 completion 自旋锁 锁陷阱 除了锁之外的办法 快速参考 第六章 高级字符驱动程序操作 ioctl 阻塞型I/O poll和select 异步通知 定位设备 设备文件的访问控制 快速参考 第七章 间、延迟及延缓操作 度量间差 获取当前间 延迟执行 内核定器 tasklet 工作队列 快速参考 第八章 分配内存 kmalloc函数的内幕 后备高速缓存 get_free_page和相关函数 vmalloc及其辅助函数 per-CPU变量 获取大的缓冲区 快速参考 第九章 与硬件通信 I/O端口和I/O内存 使用I/O端口 I/O端口示例 使用I/O内存 快速参考 第十章 中断处理 准备并口 安装中断处理例程 实现中断处理例程 顶半部和底半部 中断共享 中断驱动的I/O 快速参考 第十一章 内核的数据类型 使用标准C语言类型 为数据项分配确定的空间大小 接口特定的类型 其他有关移植性的问题 链表 快速参考 第十二章 PCI驱动程序 PCI接口 ISA回顾 PC/104和PC/104+ 其他的PC总线 SBus NuBus 外部总线 快速参考 第十三章 USB驱动程序 USB设备基础 USB和Sysfs USB urb 编写USB驱动程序 不使用urb的USB传输 快速参考 第十四章 Linux设备模型 kobject、kset和子系统 低层sysfs操作 热插拔事件的产生 总线、设备和驱动程序 类 各环节的整合 热插拔 处理固件 快速索引 第十五章 内存映射和DMA Linux的内存管理 mmap设备操作 执行直接I/O访问 直接内存访问 快速参考 第十六章 块设备驱动程序 注册 块设备操作 请求处理 其他一些细节 快速参考 第十七章 网络驱动程序 snull设计 连接到内核 net_device结构细节 打开和关闭 数据包传输 数据包的接收 中断处理例程 不使用接收中断 链路状态的改变 套接字缓冲区 MAC 地址解析 定制 ioctl 命令 统计信息 组播 其他知识点详解 快速参考 第十八章 TTY驱动程序 小型TTY驱动程序 tty_driver函数指针 TTY线路设置 ioctls proc和sysfs对TTY设备的处理 tty_driver结构详解 tty_operations结构详解 tty_struct结构详解 快速参考 参考书目 9112405-1_o.jpg (85.53 KB, 下载次数: 50)
JAVA试题(100道) —————————————————————————————————————— 题目1: 下面不属于基本类型的是:c (选择1项) A) boolean B) long C) String D) byte 题目2:d 如下程序中: (1)public class CharToInt (2){ (3) public static void main(String[] args) (4) { (5) int a,b=10; (6) char c='语'; (7) a=b+c; (8) System.out.println("结果是:"+a); (9) } (10)} 下面的说法中正确的是:(选择1项) A) 程序运行到第6行会出现编译错误,因为c为char类型,不能把一个汉字赋给一个字符型。 B) 程序运行到第7行会出现编译错误,因为字符型与整型不能进行加法运算。 C) 程序能够正常编译和运行,但是不会输出任何结果。 D) 程序将字符型转换为unicode编码并和b的数值相加的和输出。 题目3: 下面的说法中,错误的是:d(选择1项) A) 在Java中标志符可以是字母、下划线、数字或$符号。 B) 在Java中布尔类型不能和数字之间不能来回转换,即false和true不对应任何零或非零的值。 C) 双精度类型double比单精度类型float具有更高的精度和更大的表示范围,但float类型具有速度快、占用内存小的优点。 D) 在Java中布尔值可以用true或false来表示,但是同也可以用1或0来表示。 题目5:b 程序如下: class Test { public static void main(String[] args) { int i=1000; for(;;) { if(i>999) { _______________ } } } } 下面对程序的横线处填写不同语句的分析正确的是:(选择一项) A) 填充 break 使程序能够有退出循环的可能性。 B) 填充 continue 将使程序成为死循环,永远无法退出循环。 C) 填充 continue 使程序能够有退出循环的可能性。 D) 填充 break 将使程序成为死循环,永远无法退出循环。 题目7:b 下面的说法中错误的是:(选择一项) A) 类是描述了同一类对象具有的数据和行为。Java语言中的类将这些数据和行为进行封装,形成了一种复合数据类型 B) 在Java的类中可以有三类内容分别是数据的定义、基本输出语句、函数的定义。 C) Java中的封装就是将对象的数据和操作数据的方法相结合,通过方法将对象的数据和实现细节保护起来。 D) Java语言中的多态的含义可以表达为:对外一个接口,内部多种实现。Java语言支持两种多态:运行多态和编译多态。 题目8:a 程序如下: public class Demo extends Base { private int count; public Demo() {    System.out.println("A Demo object has been created"); } protected void addOne() { count++; } } 有关类Demo,描述正确的是:(选择1项) A) 当创建一个Demo类的实例对象,count的值为0。 B) 当创建一个Demo类的实例对象,count的值是不确定的。 C) 超类对象中可以包含改变count 值的方法。 D) Demo的子类对象可以访问count。 题目9:a 程序如下: class Test { private int day; private int month; public String getDate() { return day+"/"+month; } } class Test2 { public static void main(String[] args) { Test test=new Test(); test.day=25; System.out.println(test.getDate()); } } 有关类的描述正确的是:(选择1项) A) 程序在编译将出错。在Test中的day为私有变量,所以类外无法访问。 B) 程序能通过编译,但是不能正常运行。 C) 程序能通过编译,运行将打印出0/0,因为在Java中int型变量day和month默认为0。 D) 以上说法都不正确。 题目10:c 下面关于继承的描述正确的一项是:(选择1项) A) 子类继承父类,那么子类将继承父类的所有内容包括构造方法。 B) 子类继承父类,那么子类可以重写父类的方法,但是一旦重写父类方法后,无法通过子类访问到父类的该方法。 C) 子类继承父类,如果父类中只有一个构造方法并且有参数,那么在子类的构造方法中必须先用super调用父类构造方法并传参。 D) 以上说法都不正确。 题目11:d 程序如下: class Test { private int day; public int month; private Test() { System.out.println("I am Test"); } private void print() { System.out.println("I am print in Test"); } void showme() { print(); } } class TestDemo { public static void main(String[] args) { Test t=new Test() ______________ } } 下面关于类描述错误的一项是: A) Test类的对象t不能直接访问print方法。但是可以通过showme方法来间接调用 print()方法。 B) Test类的对象t可以直接访问month变量,但是不能直接访问day变量,因为day为私有变量,只有类内可以访问。 C) 该程序能通过编译并运行,但是如果想得到输出“I am print in Test”的结果,需要在横线处填写t.showme()。 D) 该程序无法通过编译,因为在Test类中的构造方法被写成私有,那么Test t=new Test() 将无法找到合适的构造方法。 题目12:a 程序如下: class Test { private int day; private Test(int d) { day=d; } private void print() { System.out.println("I am print in Test"); } } class Test2 extends Test { Test() { __(1)__ } void show() { (2) } } 下面说法中正确的是:(选择1项) A) 如果想使程序能够正常运行,在(1)处必须填写super()方法,并且在super中传参给父类且同该语句必须为Test()构造方法中的第一句。 B) 如果想使程序能够正常运行,在(1)处必须填写super()方法,但是该方法处于Test()构造方法中的任何位置均可以。 C) 在show()方法无法调用父类的print()方法。 D) 在show()方法中可以为day进行赋值,因为Test2继承了Test,则在Test2中也继承了父类的day变量。 题目13: 下面哪个关键字,使类不能在被其他的类继承?c(选择1项) A) static B) finally C) final D) instance 题目14:a 程序如下: String s1=new String("Hello"); String s2=new String("there"); String s3=new String(); 下面哪个是合法的操作符?(选择1项) A) s3=s1 + s2; B) s3=s1-s2; C) s3=s1 & s2; D) s3=s1 && s2 题目15:b 下列描述中错误的是:(选择1项) A) 在一个类的声明里声明的类,也叫做内部类或嵌套类,内部类可以作为外包类的一个成员使用,可以访问外包类的所有成员,包括私有成员。 B) 内部类的访问权限可以被定义为public、protected、private和default。但是普通类只可以定义public和default两种访问权限。 C) 内部类的访问权限可以被定义为public、protected、private和default。普通类也可以定义上面四种访问权限,但是通常我们只应用public和default两种访问权限。 题目16:c 程序如下:   abstract class MineBase {    abstract void amethod();    static int i;    } public class Mine extends MineBase   {    public static void main(String argv[]) {     int[] ar = new int[5];     for(i = 0;i < ar.length;i++)     System.out.println(ar[i]);    }   } 上面程序运行结果是:(选择1项) A) 打印5个0 B) 编译出错,数组ar[]必须初始化 C) 编译出错,Mine应声明为abstract D) 出现IndexOutOfBounds的异常。 题目17:c 下面关于抽象类描述错误的是:(选择1项) A) 抽象类的关键字是abstract,在抽象类中可以定义变量和方法。 B) 抽象类中的方法如果可以有实现体,如果没有实现体,则该方法叫做抽象方法必须加关键字abstract修饰该方法。 C) 抽象类中至少需要有一个方法被定义为抽象方法,在该方法前加abstract,把该方法定义为抽象方法。 D) 抽象类中可以没有抽象方法,即所有的方法全部都有实现体。但是依旧不能为抽象类定义对象。 题目18:b 下面关键字中,如果同出现,必须放在第一位的是:(选择1项) A) interface B) package C) import D) class 题目19:d 下面关于接口的描述错误的是:(选择1项) A) 定义接口的关键字为interface,接口中可以定义变量,但是必须同为该变量赋值,接口中的方法默认全部为public类型。 B) 实现接口的关键字是implements,其后可以跟多个接口的名字,即实现多继承。一个类实现了接口,那么必须实现接口中的所有方法。 C) 类实现了接口,必须实现接口中的所有方法,并且接口中的所有方法均为public,在实现类中不可以削弱接口中方法的访问权限。 D) 类实现了接口,实现接口中的方法可以重写该方法的访问权限,但是无法改变接口中变量的值。 题目20:b 下面关于接口和抽象类的说法中正确的是: A) 抽象类使类与类之间依旧具有父子联系,而接口一般只是定义了一种规范,并不使实现的接口之间具有父子关系。 B) 可以为抽象类定义对象,但是不能为接口定义对象。 C) 抽象类与接口的用法几乎都相同,具体用哪一个方法,只是在于程序设计人员的编程习惯而已。 D) 在Java中,最多使用的是抽象类,因为应用抽象类也可以实现多继承。而接口已经被限制使用。 题目21:d 程序如下: interface Eo { double PI=3.1415926; } abstract class A { void shot() { System.out.println("我是抽象类"); } __(1)____ void duandian(); } __(2)___ class C extends A { void shoo() { System.out.println("dafsdasd"); } } class D extends C implements Eo { void duandian() { System.out.println("我是子类c"+PI); } } class B { public static void main(String[] args) { D t=new D(); t.duandian(); } } 下面完善上面程序(1)和(2)处的方法中正确的是:(选择1项) A) (1)abstract (2)public B) (1)public (2)public C) (1)public (2)abstract D) (1)abstract (2)abstract 题目22:a 下面关于重载描述错误的是:(选择1项) A) 重载方法的返回值必须相同。 B) 重载方法的参数必须有不同之处。 C) 重载方法的名字必须相同,否则就不能称为重载了。 D) 重载方法的返回类型相不相同都可以。 题目23:d 程序如下: class A { static int count=0; int number=0; A() { System.out.println("我是构造函数"); count++; number++; } } class test { public static void main(String[] args) { A t1= new A(); A t2 = new A(); A t3 = new A(); System.out.println(t3.count); System.out.println(t3.number); } } 下面说法中正确的是:(选择1项) A) 输出结果为:count=1,number=3 B) 输出结果为:count=3,number=0 C) 输出结果为:count=0,number=0 D) 输出结果为:count=3,number=1 题目26:b 垃圾回收机制中,系统无法回收的是:(选择1项) A) 那些NULL对象 B) 当窗体显示的候,指向窗体的对象。 C) 系统资源紧张的候,一些垃圾资源 题目27:d 下列关于构造方法的说法中错误的是:(选择1项) A) 构造方法的可以被重载。 B) 构造方法不可以有返回类型,但是可以有参数。 C) 构造方法的名字必须与类名相同。 D) 构造方法不可以被覆盖。 题目28:c 所有的异常类皆继承哪一个类?(选择1项) A) java.io.Exception B) java.lang.Throwable C) java.lang.Exception D) java.lang.Error 题目29:d 程序如下:   public class Foo {    public static void main(String[] args) {     try {       return; }     finally { System.out.println("Finally");     }    }   } 上面程序段的执行结果是:(选择1项) A) 程序正常运行,但不输出任何结果。 B) 程序正常运行,并输出 "Finally" C) 编译能通过,但运行出现一个异常。 D) 因为没有catch语句块,所以不能通过编译。 题目30:b 下面关于修饰符权限的说法中错误的是:(选择1项) A) public说明该类成员可被所有类的对象使用。 B) protected说明该类成员能被同一类中的其他成员、或其子类成员访问,但不能被同一包中的其他类或其他包的非子类访问。 C) 默认的说明该类成员能被同一类中的其他成员、或同一包中的其他类访问但不能被包之外的其他类访问。 D) private说明该类成员只能被同一类中的其他成员访问,不能被其他类的成员访问,也不能被子类成员访问。 题目31:d 下面关于多态的说法中不正确的是:(选择1项) A) 子类不能覆盖超类中的final或 static方法。 B) 子类覆盖超类中同名方法,子类方法声明必须与超类被覆盖方法的声明一样。 C) 方法重载中参数必须不同,即可以参数个数不同,也可以类型不同; D) 子类必须覆盖超类中的abstract方法。 题目32:b 下面关于数组的定义错误的是:(选择1项) A) int a[]={1,2,3,4,5,6}; B) int a[6]={1,2,3,4,5,6} C) int[][] a; D) int [] a=new int[6]; 题目33:a 程序如下: class Test { public static void main(String[] args) throws ArithmeticException { Demo test=new Demo(); test.div(52,0); System.out.println("我没罪"); } } class Demo { public void dv(int x,int y) throws ArithmeticException { System.out.println(x/y); } public void div(int x,int y) throws ArithmeticException { try { dv(x,y); } catch(ArithmeticException e) { System.out.println("我是主犯"); } } } 运行上面的程序输出结果是:(选择1项) A) 我是主犯 我没罪 B) 我没罪 我是主犯 C) 52/0我是主犯 我没罪 D) 程序将抛出异常。 题目34:c 程序如下: class Demo { public static void main(String[] args) { day02 a=new day02(); a.y=45; a.tt(); } } class day01 { private int d; protected int h; public int y; public day01(int a1,int a2) { d=a1; h=a2; } public void tt() { System.out.println("我是day01"+d+h+y); } } class day02 extends day01 { int c; day02() { this(4,9,8); } day02(int b1,int b2,int b3) { super(b1,b2); c=b3; } public void tt() { System.out.println("我是day025"+c); } } 运行程序,输出结果为:(选择1项) A) 我是day0259 B) 我是day014925 C) 我是day0258 D)我是day012945 题目35:b 下面关于数据类型的默认值的说法中不正确的是:(选择1项) A) char类型的默认值为:’\u0000’ B) boolean类型的默认值为:false C) float和double类型的默认值为:0.0 D)int \short \long类型的默认值为:0 E)引用类型的默认值为:null 题目36:b 下列标识符中合法的一项是: A) 2variable B) variable2 C) $another*var D) #myvar 题目38:c 程序如下: class A { (1) final void pr() { System.out.println("dsafa"); } (2) void pr(int a) { a=5; System.out.println("dsafa"); } } class C extends A { (3) void pr() { System.out.println("dsafasdf"); } } class B { public static void main(String[] args) { C t=new C(); (4) t.pr(); } } 上面的程序存在的问题描述正确的一项是: A) 问题出在(1)处,因为final关键字不能修饰方法 B) 问题出在(2)处,该语句与(1)冲突。 C) 问题出在(3)处,该语句不能覆盖父类中的final方法 D) 问题出在(4)处,类C的对象t不能调用未表明访问权限的pr方法。 题目39:c 程序如下: class A { public static void main(String[] args) { Integer ten=new Integer(10); Long nine=new Long (9); System.out.println(ten + nine); int i=1; System.out.println(i + ten); } } 上面的代码 编译出现什么问题? A) 19 20 B) 19 11 C) 编译出错 D) 10 1 题目40:a 程序如下: public class Test { public static void main(String[] args) { Stu s=new Stu(); s.show(); } } class Stu { static int a=0; int b ; static void show() { b=56; System.out.println("a="+b); } void shot() { b=56; a++; System.out.println("a="+b); } } 对上面程序描述正确的是:(选择1项) A) 静态方法必须访问静态变量和静态方法 B) 非静态方法不能访问静态变量和景泰方法 C) 非静态对象不能调用静态方法 D) 程序可以通过编译,输出结果为:a=56 题目41:d 程序如下: interface Er { double PI=3.14; void tongdian(); void duandian(); } class Dfqc implements Er { public void tongdian() { System.out.println("通电函数"+PI); } public void duandian() { } public void duan() { } } public class Test { public static void main(String[] args) { Dfqc t=new Dfqc(); t.tongdian(); } } 分析上面的程序,下面描述错误的是:(选择1项) A) 接口中不可以为变量赋值。 B) 在类Dfqc 中,未能实现接口中的duandian()方法,所以不能通过编译 C) 在接口中定义的PI相当于常量,不可以更改数值。 D) 在接口中定义的PI没有用final修饰,不是常量,所以可以更改数值 题目42:c 程序如下: interface Eo { double PI=3.1415926; } abstract class A { void shot() { System.out.println("我是抽象类"); } abstract void duandian(); } abstract class C extends A { void shoo() { System.out.println("你好啊"); } } class D extends C implements Eo { void duandian() { System.out.println("我是子类c"+PI); } } class B { public static void main(String[] args) { D t=new D(); t.duandian(); } } 执行上面程序后,输出结果为:(选择1项) A) 我是子类c3.1415926 B) 我是抽象类c3.1415926 C) 你好啊c3.1415926 D) 我是子类我是抽象类c3.1415926 题目43:c 程序如下: public class EqTest { public static void main(String[] argv) { EqTest e=new EqTest(); } EqTest() { String s="Java"; String s2="java"; ________a、_补充代码________ { System.out.println("Equal"); } else { System.out.println("Not equal"); } }} 根据上面代码,如果想输出“Equal”,则横线处需要补充的语句是:(选择1项) A) if(s==s2) B) if(s.equals(s2) C) if(s.equalsIgnoreCase(s2)) D) if(s.noCaseMatch(s2)) 题目44:a 程序如下: public class A { public static void main(String[] argv) { } public void amethod(int i){} __________________________ } 下面哪一项放在横线处构将使程序不能通过编译的?(选择1项) A) public int amethod(int z) { } B) public int amethod(int i,int j) { return 99 ; } C) protected void amethod(long l){ } D) private void anothermethod(){ } 题目45:c 给出定义Integer i=new Integer(99);那么怎样才能设置i的值为12?(选择1项) A) i=12; B) i.setValue(12); C) i.parseInt(12); D) 上述均不对。 题目46:a 程序如下: class A { public static void main(String argv[]) { A mt = new A(); int mt =0; inc.fermin(mt); mt = mt++; System.out.println(mt); } void fermin(int mt) { mt++; } } 分析上面程序,输出结果为:(选择1项) A) 编译出错 B) 2 C) 1 D) 0 题目47:a 下面的叙述中正确的一项是:(选择1项) A) 在Java中只支持单继承,不支持多继承。 B) 在Java中对于类都可以用private、public、protected修饰符号修饰。 C) 在Java中只有对内部类才可以把类修饰为private类型 D) 在Java中所有一切都是类,没有写在类外的代码 题目48:b 下面哪个是Java中的关键字:(选择1项) A) Null B) new C) instanceof D) throws 题目49:c 下面不属于顶层容器的是:(选择1项) A) JFrame B) JDialog C) JPanel D) JApplet 题目50:a 下面哪一项不是awt中的组件:(选择1项) A) CheckboxGroup B) Choice C) TextField D) ButtonGroup 题目51:c 窗体JFrame的默认布局是:(选择1项) A) 网格布局 B) 流式布局 C) 边界布局 D) 卡片布局 E)无布局 题目52:b 面板JPanel的默认布局是:(选择1项) A) 网格布局 B) 流式布局 C) 边界布局 D) 卡片布局 E)无布局 题目53:e Applet的默认布局是:(选择1项) A) 网格布局 B) 流式布局 C) 边界布局 D) 卡片布局 E)无布局 题目54:a 如果要把窗体设置为无布局的形式,那么下面的说法的正确一项是:(选择1项) A) 窗体默认为无布局,所以此放控件只要直接用setBound()绑定控件位置即可 B) 窗体默认布局为流式布局,所以需要通过方法设置布局为null C) 窗体默认布局为边界布局,所以要用setLayout(null);设置窗体的布局为空。 D) 上述说法均错误。 题目55:d 下面哪个方式可以实现与GridBagLayout的功能雷同:(选择1项) A) FlowLayout B) GridLayout C) BorderLayout D) 无布局,通过绑定进行定位。 题目56:c 设置面板的布局方式为边界布局,在面板中直接放一个按钮,那么该按钮的位置为:(选择1项) A) CENTER B) NORTH C) SORTH D) WEST E) EAST 题目57:b 下面哪个选项可以实现为文本区添加滚动条:(选择1项) A) JFrame jf=new JFrame(); JTextArea jt=new JTextArea(10,20); JScrollBar jsb=new JScrollBar (jt); jf.getContentPane().add(jt); B) JFrame jf=new JFrame(); JTextArea jt=new JTextArea(10,20); JScrollPane jsp=new JScrollPane(jt); jf.getContentPane().add(jsp); C) JFrame jf=new JFrame(); JTextArea jt=new JTextArea(10,20); JScrollBar jsb=new JScrollBar(jt); jf.getContentPane().add(jsb); D) JFrame jf=new JFrame(); JTextArea jt=new JTextArea(10,20); JScrollPane jsp=new JScrollPane(jt); jf.getContentPane().add(jt); 题目58:a 下面哪个可以相应鼠标的点击事件:(选择1项) A) JMenuItem B) JMenu C) JMenuBar D) JToolBar 题目59:b 下面描述中,正确的是:(选择1项) A) JPasswordField的直接父类是javax.swing.JTextComponent B) JTextArea可以设置行宽和列宽,而JTextField是单行文本,只能设置列宽。 C) JCheckBoxMenuItem和JRadioButtonMenuItem的父类是JMenu。 D) JPasswordField的直接父类是javax.swing.JTextArea 题目60:a MVC设计模式中的M\V\C分别表示什么意思?(选择1项) A) M:模型-数据(服装); V:视图(服装模特) C:控制器(服装设计师) B) M: 视图(服装模特); V:模型-数据(服装) C:控制器(服装设计师) C) M:模型-数据(服装); V:控制器(服装设计师)C:视图(服装模特) D) M: 控制器(服装设计师)V:视图(服装模特) C:模型-数据(服装); 题目61:b 下列关于SWING和AWT的对比说法错误的是:(选择1项) A) swing包对awt包进行了修订和扩展 B) swing的类依然含有与平台相关的技术,只是比AWT大大减少了 C)swing中的类基本上都是以字母“J”开头 D)swing的各种控件类的父类的JComponent类继承于awt包的Container类。 题目62:a 每个________对象都有一个与它相关的布局管理器。(选择1项) A) Container B) Component C) Object D) Layout 题目63:b 下面哪个选项为Swing组件提供了处理所有与滚动条相关的动作。(选择1项) A) ScrollPane B) JScrollPane C) ScrollBar D) JScrollComponent 题目64:a 以下关于各个菜单类之间的关系的描述正确的是:(选择1项) A) JMenuBar包含JMenu包含JMenuItem B) JMenuBar包含JMenuItem包含JMenu C) JMenuItem包含JMenu包含JMenuBar D) JMenu包含JMenuBar包含JMenuItem 题目65:d 一个事件源要必须注册监听器才能接受一个事件通知,以将产生的事件对象传输给_________来处理。(选择1项) A) 事件代理(监听器) B) 事件源 C) 主程序 D) 事件处理方法 题目66:b 事件对象的方法:getSource()返回的是:___________ (选择1项) A) Component B) Object C) JComponent D) Container 题目67:c 调用键盘事件的什么方法可以获得按键的名称。(选择1项) A) k.getKeyCode(k.getKeyText()) B) k.getKeyText() C) k.getKeyText(k.getKeyCode()) D) k.getKeyChar() 题目68:c 下面哪一项不属于Applet的生命周期:(选择1项) A) void init() B) void start() C) void paint() D) void destroy() 题目69:c 关于getCodeBase()与getDocumentBase()方法,下面叙述中正确的是:(选择1项) A) 两个方法功能相同。 B) getCodeBase方法用于从浏览器获取Applet的URL地址;而getDocumentBase方法用于从浏览器获取Applet所嵌入的HTML文件的URL地址; C) getCodeBase方法用于从浏览器获取Applet所嵌入的HTML文件的URL地址; getDocumentBase而方法用于从浏览器获取Applet的URL地址; D)上述说法均不正确。 题目70: 程序如下: import java.io.*; class ExBase { abstract public void martley() { } } public class MyEx extends ExBase { public static void main(String[] argv) { DataInputStream fi = new DataInputStream(System.in); try{ fi.readChar(); }catch(IOException e){ System.exit(0); } finally {System.out.println("Doing finally");} } } 编译并运行下列代码,将会发生什么事情?(选择1项) A) 编译出错。 B) 程序将运行,等待按任意键退出。 C) 程序将运行,等待你按键,然后打印出"Doing finally" 然后退出。 D) 程序运行,然后立即退出。 题目71: 程序如下: public class Borley extends Thread { public static void main(String[] argv) { Borley b = new Borley(); b.start(); } public void run() { System.out.println("Running"); } } 下面描述正确的是:(选择1项) A) 通过编译和运行但是没有任何输出。 B) 通过编译,运行后输出"Running" C) 编译出错,没有线程可供运行 D) 编译出错,没有权限使用Thread 题目72: 程序如下: import java.io.*; public class Ppvg { public static void main(String argv[]) { Ppvg p = new Ppvg(); p.fliton(); } public int fliton() { try{ FileInputStream din = new FileInputStream("Ppvg.java"); din.read(); }catch(IOException ioe){ System.out.println("flytwick"); return 99; }finally{ System.out.println("fliton"); } return -1; } } 编译和运行上面的代码,下面对这段程序的描述中正确的是:(选择1项) A) 程序可以正常运行并且仅仅输出 "flytwick" B) 程序可以正常运行并且仅仅输出"fliton" C) 程序可以正常运行并且输出"fliton" 和 "flytwick" D) 在编译候会产生错误,因为fliton方法会要求返回两个值 题目73: 下面哪个关键字能够引起死锁:(选择1项) A) synchronized B) suspend C) transient D) volatile 题目74: 关于Applet的生命周期说法中正确的是:(选择1项) A) init方法在start方法之后执行 B) stop在Applet退出被调用,只调用一次 C) destroy方法在stop方法之前被调用 D) stop在Applet 不可见被调用,可以被调用多次 题目75: 关于Runnable接口,不正确的说法是:(选择1项) A) 实现了Runnable接口就可以用start方法启动 B) Runable接口提供了通过线程执行程序的最基本的接口 C) Thread类实现了Runnable接口 D) Runnable只定义了一个run方法 题目76: 下面说法不正确的是 :(选择1项) A) Java中线程是抢占式的 B) Java中线程是分的 C) Java中的线程可以共享数据 D) Java中的线程可以共享代码 题目77: 下面属于Java线程同步方法方法有:(选择1项) A) stop B) run C) wait D) destroy 题目78: 下面哪个方法是不过的:(选择1项) A) suspend B) interrupt C) resume D) stop 题目79: 下面哪个语句能够正确地创建一个InputStreamReader的实例?(选择1项) A) new InputStreamReader("data"); B) new InputStreamReader(new FileReader("data")); C) new InputStreamReader(new BufferedReader("data")); D) new InputStreamReader(System.in); 题目80: FilterOutputStream 是BufferedOutputStream 、DataOutputStream 和 PrintStream的父类. 哪个类是能够构造一个 FilterOutputStream对象?(选择1个) A) InputStream B) OutputStream C) File D) RandomAccessFile 题目81: 创建一个socket对象,连接到一个标准远程网络服务器端。下面哪个方法最适合在线从socket上读取一个ASCII数据:(选择1项) A) InputStream in=s.getInputStream(); B) DataInputStream in=new DataInputstream(s.getInputStream()); C) ByteArrayInputStream in=new ByteArrayInputStream(s.getInputStream()); D) BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream())); E) BufferedReaderin=newBufferedReader(new InputStreamReader(s.getInputStream()),”8859-1”); 题目82: 下面哪一个方法是鼠标移动(MouseMotionListener)接口中方法的实现:(选择1项) A) Public void mouseMoved(MouseEvent) B) Public boolean mouseMoved(MouseEvent) C) Public void mouseMoved(MouseMotionEvent) D) Public boolean MouseMoved(MouseMotionEvent) 题目83: 1. ___补充代码 2. public class foo ( 3. public static void main (String[]args) throws Exception { 4. printWriter out = new PrintWriter (new 5. java.io.outputStreamWriter (System.out), true; 6. out.printIn(“Hello”); 7. ) 8. } 请在上面程序的第一行填写代码,使程序能正常编译和运行。(选择1项) A) Import java.io.PrintWriter; B) Include java.io.PrintWriter; C) Import java.io.OutputStreamWriter; D) Include java.io.OutputStreamWriter; 题目84: 下面不正确的论述有:(选择1项) A) ServerSocket.accept是阻塞的 B) BufferedReader.readLine是阻塞的 C) DatagramSocket.receive是阻塞的 D) DatagramSocket.send是阻塞的。 题目85: 下面关于阻塞函数的论述,正确的有:(选择1项) A)阻塞函数是指可以返回也可以不返回的函数 B)阻塞函数是指网络过于繁忙,函数必须等待 C)阻塞函数是指有外部事件发生才会返回的函数 D)阻塞函数如果不能马上返回,就会进入等待状态,把系统资源让给其他线程。 题目86: 下面哪个URL是合法的:(选择1项) A)http://166.111.136.3/index.html B)ftp://166.111.136.3/incoming.html C)ftp://166.111.136.3:-1/ D)http://166.111.136.3.3 题目87: 关于TCP/IP协议下面哪几点是错误的:(选择1项) A)TCP/IP协议由TCP协议和IP协议组成 B)TCP和UDP都是TCP/IP协议传输层的子协议 C)Socket是TCP/IP协议的一部分 D)主机名的解析是TCP/IP的一部分 题目88: 关于数据报通信(UDP)和流式通信(TCP)的论述,正确的有:(选择1项) A) TCP和UDP在很大程度上是一样的,由于历史原因产生了两个不同的名字而已 B) TCP和UDP在传输方式上是一样的,都是基于流的但是TCP可靠,UDP不可靠 C) TCP和UDP使用的都是IP层所提供的服务 D) 用户不可以使用UDP来实现TCP的功能 题目89: 下列说法中正确的一项是:(选择1项) A) 普通类都可以用private、public等修饰符修饰。 B) 内部类可以访问外部类的普通变量。 C) 内部类不可以用private修饰。 D) 内部类可以访问外部类的static类型的变量。 题目90: Java提供的网络功能有三大类,关于其描述如下,正确是:(选择1项) A)URL是三大功能中最高级的一种,通过URL Java程序可以直接送出或读入网络上的数据. B)Socket是传统网络程序最常用的方式,可以想象为两个不同的程序通过网络的通信信道. C)Datagram是更低级的网络传输方式,它把数据的目的纪录在数据包中,然后直接放在网络上. D)上面三种说法都对! 题目91: 在ODBC模型中,最终是通过哪一个来操作数据库的。(选择1项) A)ODBC接口 B)驱动程序管理器 C)数据库的ODBC驱动程序 D)以上都不是 题目92: 在jdbc:odbc:student中,odbc是下面的哪一个描述:(选择1项) A)协议名 B)驱动程序名 C)子协议名 D)桥接器 题目93: 对于SQL的检索操作,使用Statement的什么方法?(选择1项) A)ExecuteQuery() B)ExecuteUpdate() C)ExecuteSelect() D)ExecuteAlter() 题目94: 下面关于事务的说法中不正确的是:(选择1项) A)事务是保证数据库中数据的完整性与一致性的重要机制 B)事务是由一组SQL语句组成。 C)当一个事务执行过程中出现异常而失败,为了保证数据的一致性,该事务必须回滚。 D)一个事务会出现的异常是:SQLErrorException。 题目95: 获得数据库连接的方法是:(选择1项) A)createStatement() B)getConnection() C)Class.forName() D)以上都不对 题目96: 下面选项中不是SQL语句的API的是:(选择1项) A)java.sql.Statement; B)java.sql.ResultSet; C)java.sql.PrepareStatement; D)java.sq.Connection; 题目97: 下面哪个是存储过程调用的语句:(选择1项) A)CallStatement B)PreparedStatement C)CallableStatement D)以上都不是 题目98: 下面哪个不是JDBC的URL的三个组成部分的。(选择1项) A)指示部分 B)数据库名 C)子协议部分 D)数据源名 题目99: 使用JDBC,可分为四个步骤,下面四个步骤的排序正确的是:(选择1项) A)释放对象 语句处理 结果处理 创建连接 B)语句处理 结果处理 创建连接 释放对象 C)创建连接 语句处理 结果处理 释放对象 D)创建连接 结果处理 语句处理 释放对象 题目100: 在使用JDBC的许多方法中,方法的调用顺序正确的一项是: A)getConnection() getString() createStatement() executeQuery() B)getConnection() createStatement() executeQuery() getString() C)createStatement() getConnection() executeQuery() getString() D)createStatement() getConnection() getString() executeQuery()

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值