我觉得我在这里错过了一些令人眼花缭乱的东西,这对Java大师来说是如此低调的结果:
我的代码看起来像这样:
private static void myFunc(JComponent c) {
if (c instanceof JPanel) {
//stuff
}
else if (c instanceof JMenu) {
// other stuff
}
}
Run Code Online (Sandbox Code Playgroud)
尽管JPanel和JMenu都是JComponent的子类,但第一个instanceof给出了一个错误:
Incompatible conditional operand types JComponent and JPanel
Run Code Online (Sandbox Code Playgroud)
而第二个工作正常.为什么它认为我JComponent永远不会是一个JPanel?
我有一个Perl脚本,我为自己的个人用途编写,定期从网站上获取图像文件.然后它将这些图像保存到文件夹中.从fetch到fetch,这些图像文件通常是相同的,如果我可以绕过它,我不想保存重复项.
我的问题:比较/检查它们是否相同的最佳方法是什么?
到目前为止,我唯一真正的想法是打开现有文件句柄,md5,md5来自fetch的$ response->内容,然后比较它们.那会有用吗?
有没有更好的办法?
编辑:
哇,已经有很多很棒的建议了.如果我告诉你这个脚本每天都通过cron运行会有帮助吗?即保证每天都在同一时间运行?另外:我正在查看其中一些最后修改的标题,并且它们看起来不是100%准确,即有一些在一周前的最后修改时我知道图像是最近的比起那个来说.我假设那是因为从那时起服务器上的图像文件本身没有被修改......这对我没什么帮助...
我有一个通过system()C命令运行的Perl脚本.在特定站点(SunOS 5.10)上,当运行该脚本时,它几乎总是需要6秒或更长时间.在其他网站上,它几乎立即运行(0.1秒).如果我手动运行脚本,即不是从C代码运行,它也会立即运行.我最终跟踪了缓慢下降(通过在很多不同的地方吐出一大堆的时间)到单行require.它需要的文件是我们编写的另一个Perl脚本.该脚本包含一个require(此处为此文件),3个分配了整数值的标量,以及一些时间/日期转换例程.该文件以1;结尾.那个单一的需求似乎有时需要6秒钟,但正如我所说,并不总是在同一台机器上.我绝对难过这里.我唯一的想法是打开分析,但该网站没有Devel :: Profiler,我唯一的其他选项(我知道)将它添加到Perl命令,这将要求我改变并重新编译C代码(可行但非平凡).
有人知道这里会发生什么吗?我不认为我可以/想要把整个date.pl放在需要的地方,但它几乎和我描述的完全一样; 我可以回答你的任何问题.
提前致谢.
我有一个Visual Studio 6工作区,我正在尝试转换为Visual Studio 2008解决方案.所述解决方案的输出是.dll.它必须是.dll,它需要静态链接MFC,因为我无法将MFC重新分发给现有客户.
该解决方案由三个项目组成,例如A,B,C.C是活动项目,输出.dll并依赖于B.B输出.lib并依赖于A. A输出.lib.
在常规配置属性中,我将A和B设置为静态库(.lib),将C设置为动态库(.dll).所有三个项目都设置为"在静态库中使用MFC".此外,所有三个项目都设置为运行时库的"多线程",并且没有一个项目定义了_AFXDLL.
一切都正确建立,直到最后的链接阶段,我看到这一点:
1>nafxcw.lib(wincore.obj) : error LNK2005: _IsPlatformNT already defined in A.lib(Globals.obj)
1>nafxcw.lib(wincore.obj) : error LNK2005: _InitMultipleMonitorStubs already defined in A.lib(Globals.obj)
1>nafxcw.lib(wincore.obj) : error LNK2005: _xGetSystemMetrics@4 already defined in A.lib(Globals.obj)
1>nafxcw.lib(wincore.obj) : error LNK2005: _xMonitorFromPoint@12 already defined in A.lib(Globals.obj)
1>nafxcw.lib(wincore.obj) : error LNK2005: _xMonitorFromRect@8 already defined in A.lib(Globals.obj)
1>nafxcw.lib(wincore.obj) : error LNK2005: _xMonitorFromWindow@8 already defined in A.lib(Globals.obj)
1>nafxcw.lib(wincore.obj) : error LNK2005: _xGetMonitorInfo@8 already defined in A.lib(Globals.obj)
1>nafxcw.lib(wincore.obj) : error LNK2005: _xEnumDisplayMonitors@16 already defined in …Run Code Online (Sandbox Code Playgroud) 我们需要一个用于压缩文件的跨平台解决方案.我们的服务器运行在Windows XP/Vista/7和3个Unix发行版,SunOS,HPUX和AIX上.我们的服务器创建需要压缩的文件,然后再将其设置回客户端.我们最初的想法是用jar压缩文件,因为大多数服务器都安装了java,但显然jar不包含在jre中,只包含jdk.我们的服务器是用C语言编写的,需要创建压缩文件的应用程序是Perl.
我真的很喜欢我没有安装的东西,因为我们的安装基础很大并且添加新的所需应用程序通常很困难.是否有任何保证可以内置到我可以用于压缩的每个操作系统中?即使我必须为每个使用不同的东西,这也可能是好的.
我有一个小C服务器需要接受连接并分叉子进程.我需要的stderr子进程的去一个已经存在的命名管道,将stdout孩子转到stdout父,和stdin孩子的TP来自同一个地方作为stdin母公司.
我最初的尝试涉及popen()但我似乎永远不会得到我想要的.
最后,这个特定的解决方案只需要在Solaris中工作.谢谢.
编辑:更新了问题,希望能更准确地描绘我想要完成的事情.谢谢你对我耐心.
EDIT2:我还需要父进程获取子进程的返回值,然后对它做一些事情,如果这有任何区别.