- 记得以前 Java 要调用C/C++写得动态库都是用的 JNI 方式,还需要自己写不少 C/C++ 代码。比如说要在Java中调用已有的动态库,如 Windows 的 user32.dll 的方法 MessageBoxA,具体步骤是 Java 中声明一个 native 方法,然后用 javah 命令生成JNI样式的头文件,再自己实现头文件中声明的方法,在实现方法中装载动态库 user32.dll,调用 MessageBoxA 方法,需要把自己写的这部分 C/C++ 代码封装成一个动态库,如Sample.dll,最后在 java 中装载 Sample.dll,然后执行其中所声明的本地方法。
可见,用老实的JNI方式,我们在调用一个已知动态库的时候还需要额外生成一个符合JNI规则的动态库作为桥梁,显得有点多余了。 Read More
我安装了VC 6.0后,写一段简单的"Hello World"程序,点击 Build 按钮,信息栏里只出现"Compiling...,Error spawning cl.exe"错误提示。原来那么久可没碰到过这种错误,一下子有点蒙了,没法,很容易就有产生重新安装VC来解决。
重新安装的话太麻烦,还是先到网上找找有没有相应的解决方案,把出错提示放网上google一下,就查到http://www.mscenter.edu.cn/blog/k_eckel/articles/3016.html 的一篇文章提供了方法。 Read More- 有一个人坐热气球在天空中飘浮,不觉间迷了路,他把热气球下降少许,向地面上的一位路人问路。
「对不起!你能否告诉我,我现在身处何方吗?」
「你现在正坐在热气球上,离地面约3米。」路人说。
「先生,我猜你一定是从事IT行业的。」热气球上的人说。
「对啊!你为甚么会知道的?」
「因为你给我的答复很技术性,但完全没有用。」
「先生,我也猜猜你的职业吧!你一定是做管理的。」路人说。
「对呀!你为甚么会知?」
「Well!因为你不知自己在哪?也不知自己应往哪方走,但你却希望我帮你解决问题,你现在的处境和先前没有两样,但责任已归咎在我身上。」 - 在VC++6.0中运行控制台程序后,执行完后控制台会出现 Press any key to continue . . . 按任意键,控制台才消失。
但是换到在VC++7.0 (VS.NET的VC++)中编写的控制台程序,点击运行后,默认情况下马上把控制台关了,让你看不到输出结果。那么在这个IDE下如何让 Press any key to continue . . . 再次出现呢?
C++中实现"任意键暂停"对于要直接查看输出结果时很重要的,比如你用的是BC编辑器,不能像VC那样自己实现程序运行完后暂停,而是跳回到编辑状态,根本看不到运行结果。
有的人会用#include<conio.h>加上getch();来实现,其实完全不需要的……
用VC或BC编辑C++程序,不用像C语言中加入头文件conio.h ,然后用getch()来实现任意键暂停。
用system("pause");这个语句就可以,不过如果你想改变文字还是要用上面的办法。
其实在C语言中的stdlib.h的头文件中就有这个函数。 - Portal一词原来是"门户网站"的意思,如YAHOO!、AltaVista、SINA这样的网站。而对于企业信息化而言,它扮演的角色则有所不同。对企业来说,建立Portal的意义在于可以使员工共享各种系统和信息资源,并对其进行统一的管理。对员工来说,通过Portal可以了解和掌握有关企业的各种信息、参加讨论、协同工作等。Portal自动将分散于企业各处的信息资源整理并发送给员工,真正实现信息找人的目的。
Portal现在已经成为企业最关注的领域之一,是实现企业整合的第一步。其重要价值在于它是企业现有投资与新投资的集成节点,使用户能够与人、内容、应用和流程进行个性化的、安全的、单点式的互动交流。 Read More - 跑到一个新公司,忽然发现自己真变成IT民工了,那里边管没有一官半职的开发人员称为做Coding的
Coding是什么?Coding就是代码工人,难道他们所谓的做Coding的真的不需要半点儿创造力吗?
除非你把详细设计做的非常好,那直呆下去,只要我们做重复性的事情吗,那我更不愿干了
先前对软件事业的狂热难道就此被打压下去吗?
编码(Coding)有一种"把已经存在的设计机械化地翻译成计算机语言"的意味
而开发(Development)并不都这么机械化的,需要可观的创造力的判断力 Read More
LOG4J的配置之简单使它遍及于越来越多的应用中了:Log4J配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。择其一二使用就够用了 Read More- 曾经是Eclipse的拥趸,今天晚上在网上Down了一个NetBean 5.0,安装到电脑上,打开试用了一下,确实比以前版本快很多,而且功能也非常的丰富,直接支持EJB开发,AJAX,JSF1.1,Struts都到1.2.7了,还要看看Struts低版本是如何支持的,WebService的开发;还有把源文件输出为HTML格式的功能,导出要展示的代码很有用的。
NetBean也是免费的,虽说Eclipse也是免费的,但Eclipse还得倚仗着盗版的MyEclipse才能做实际的开发;NetBean也有插件啊。看来一被忽略的NetBean需要好好去发掘,以后在本机学习、测试、验证代码的话我就在NetBean下进行了。 - 先看下面的代码,看看程序执行会是什么样的结果:
1import java.lang.reflect.Method; 2/** 3 * @author Unmi 4 */ 5public class ExceptionTest { 6 7 public static void main(String[] args) { 8 try{ 9 foo1(); 10 }catch (MyException me) { 11 System.out.println("Exception Type: MyException"); 12 }catch (Exception e) { 13 System.out.println("Exception Type: Exception"); 14 } 15 } 16 17 public static void foo1() throws Exception{ 18 Method method = ExceptionTest.class.getDeclaredMethod("foo2",new Class[]{}); 19 20 //注意调用foo2时,foo2方法会抛出MyException异常 21 method.invoke(null,new Object[]{}); 22 } 23 24 public static void foo2() throws Exception{ 25 throw new MyException(); //foo2方法直接抛出异常 26 } 27} 28 29//一个自定义的异常 30class MyException extends Exception{ 31 32}
Read More