如何"触摸"文件,即从InnoSetup(Pascal)脚本中将其上次修改时间更新为当前时间?
我正在学习这门SynchronizationContext课程.我试图了解SynchronizationContext.SetSynchronizationContext()在WinForm/WPF应用程序的上下文中调用的常见用法场景是什么.设置SynchronizationContext线程是什么意思?我什么时候该做,为什么?另外,如果我设置它,我应该在某个时候取消它吗?
编辑:
在他的回答中,@ Hans Passant问我为什么在考虑SetSynchronizationContext().我的想法是在工作线程上设置上下文,以便在该线程上运行的代码将具有要使用的上下文.
private void button3_Click(object sender, EventArgs e)
{
var syncContext = SynchronizationContext.Current;
Task.Factory.StartNew(() =>
{
// Setup the SynchronizationContext on this thread so
// that SomeAsyncComponentThatNeedsACurrentContext
// will have a context when it needs one
if (SynchronizationContext.Current == null)
SynchronizationContext.SetSynchronizationContext(syncContext);
var c = new SomeAsyncComponentThatNeedsACurrentContext();
c.DoSomething();
});
}
Run Code Online (Sandbox Code Playgroud) 在每个循环中,我将内容添加到ArrayList中.现在我需要将arraylist的内容添加(或复制/移动)到字符串数组中.
字符串数组我的意思是字符串[].
如果需要更多信息,请告诉我.
谢谢!
我有一个本地安装的库的问题.在我的项目中有xmlrpc ++ 0.7库:
myproject/
+-- xmlrpc++0.7/
+-- src/
Run Code Online (Sandbox Code Playgroud)
如果没有找到,我希望CMake使用本地xmlrpc ++ 0.7目录进行回退.两个问题,第一个,find_path()或find_library()不适用于本地目录.我使用了一种变通方法来测试find_xxx()处理的变量是否为空.如果为空,我手动设置它们.cmake现在生成Makefile而没有错误.但是如果我想通过make编译项目,那么c ++编译器会返回"错误:XmlRpc.h:找不到文件".文件XmlRpc.h位于myproject/xmlrpc ++ 0.7/src中,如果我手动编译它们,它可以正常工作.
这是我的CMakeLists.txt.如果有人能指出在上述条件下使用cmake的正确解决方案,我感到非常高兴.
--- CMakeLists.txt ---
project(webservice_tesseract)
cmake_minimum_required(VERSION 2.6)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# find tesseract
find_path(TESSERACT_INCLUDE_DIR tesseract/tesseractmain.h
/opt/local/include
/usr/local/include
/usr/include
)
find_library(TESSERACT_LIBRARY_DIR
NAMES tesseract_main
PATHS
/opt/local/lib/
/usr/local/lib/
/usr/lib
)
message(STATUS "looked for tesseract library.")
message(STATUS "Include file detected: [${TESSERACT_INCLUDE_DIR}].")
message(STATUS "Lib file detected: [${TESSERACT_LIBRARY_DIR}].")
add_library(tesseract STATIC IMPORTED)
set_property(TARGET tesseract PROPERTY IMPORTED_LOCATION
${TESSERACT_LIBRARY_DIR}/libtesseractmain.a
)
#find xmlrpc++
message(STATUS "cmake home dir: [${CMAKE_HOME_DIRECTORY}].")
set(LOCAL_XMLRPCPLUSPLUS ${CMAKE_HOME_DIRECTORY}/xmlrpc0.7++/)
message(STATUS "xmlrpc++ local dir: [${LOCAL_XMLRPCPLUSPLUS}].")
find_path(XMLRPCPLUSPLUS_INCLUDE_DIR XmlRpcServer.h … 我最近发现ArrayList在Java 中实际上有两种不同的实现(比我猜想的更好......).
所以我想知道为什么Arrays.asList(T... a)需要返回一个无法调整大小的列表?如果他们需要一个不可修改的列表,set(int index, E element)那么为什么要添加方法?
所以我的一般问题是为什么不java.util.ArrayList从Arrays.asList(T... a)方法中返回?
您还可以通过java.util.Arrays.ArrayList实施获得什么?
到目前为止,我一直在使用tomcat和glassfish开发一个测试webapp,没有maven.通常的开发 - 部署周期很简单:
使用WebContent文件夹在eclipse ide中开发,该文件夹是具有WEB-INF,web.xml,WEB-INF/lib,n all的根webapp文件夹.eclipse中编译的类位置设置为WEB-INF/classes.
在编码之后,我可以点击glassfish管理控制台中针对该特定webapp的重新加载按钮.在tomcat中,我相信它也会在tomcat管理器中重新加载.
我可以在浏览器中访问Web应用程序
现在,如果我想创建一个新的webapp,那将使用jsf,spring,jpa,hibernate,postgresql的最新东西:
我应该在创建项目时使用什么样的原型?
我还能使用我之前的开发步骤吗?因为我认为这很容易,无需将所有内容重新打包成war文件,或者每次我想测试时将其复制到tomcat的webapp文件夹中.在eclipse中保存文件,点击管理控制台/ tomcat管理器中的重新加载,我可以立即测试更新的webapp.
或者你通常在webapp开发周期中做什么?请分享您的经验,=)
谢谢 !
我有一个比较两个字节数组是否相等的方法,主要的警告是它不会失败并在检测到不等式时提前退出.基本上,代码用于比较跨站请求伪造令牌,并尽可能避免使用时间来破解密钥的能力.我希望我能找到详细讨论攻击的论文的链接,但重要的是,如果两个字节数组相等,我仍然有一个统计上可测量的偏差,以便尽快返回 - 尽管它是一个命令更好的.所以不用多说,这里是代码:
public static bool SecureEquals(byte[] original, byte[] potential)
{
// They should be the same size, but we don't want to throw an
// exception if we are wrong.
bool isEqual = original.Length == potential.Length;
int maxLenth = Math.Max(original.Length, potential.Length);
for(int i=0; i < maxLength; i++)
{
byte originalByte = (i < original.Length) ? original[i] : (byte)0;
byte potentialByte = (i < potential.Length) ? potential[i] : (byte)0;
isEqual = isEqual && (originalByte == potentialByte);
}
return isEqual;
} …Run Code Online (Sandbox Code Playgroud) 我刚刚使用if语句尝试了一个简单的C程序并分析了它的程序集.但是,当使用-O2标志进行编译时,它的行为会有很大差异.
相同的C代码是: -
#include<stdio.h>
int main(int argc, char **argv) {
int a;
if(a<0) {
printf("A is less than 0\n");
}
}
Run Code Online (Sandbox Code Playgroud)
而相应的组装是: -
main:
push %ebp
mov %ebp, %esp
sub %esp, 8
and %esp, -16
sub %esp, 16
test %eax, %eax
js .L4
leave
ret
.p2align 4,,15
.L4:
sub %esp, 12
push OFFSET FLAT:.LC0
call puts
add %esp, 16
leave
ret
.size main, .-main
.section .note.GNU-stack,"",@progbits
.ident "GCC: (GNU) 3.4.6"
Run Code Online (Sandbox Code Playgroud)
我读到该test指令基本上只执行两个操作数的逻辑AND.我还读到,当前js一条指令中的符号发生变化时,指令会执行跳转.因此,test使用eax的eax会给出0或者1 …
我有一个看起来像下面的结构,我正在尝试获取id foo.如果我们从中冒泡,它是唯一 DIV的id onclick func(),这意味着不会有其他内部包含id的DIVfoo.但是,里面可能有其他标签foo包含id(例如bye, hello).
没有使用框架.
<div id="bar"></div>
<div id="foo">
<p><p>
<div class="bye">
<input id="bye" type="text" value="test" />
<input id="hello" type="text" value="test" />
<table>
<tr><td onclick="func(event)">1</td></tr>
<tr><td onclick="func(event)">2</td></tr>
</table>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 这不是一个如何自动调用dispose的问题 - 我的问题恰恰相反:我有一个线程池,其中每个线程都有一个ThreadStatic Graphics(由Image创建)来执行文本大小测量.现在我遇到了一个问题,即不时读取TextRenderingHint属性失败(导致ArgumentException),图形似乎被处理掉了.
是否存在一些处理图形的机制,例如,如果线程长时间处于空闲状态?
c# ×4
.net ×2
arraylist ×2
arrays ×2
asp.net ×1
assembly ×1
c ×1
c#-4.0 ×1
cmake ×1
collections ×1
disassembly ×1
eclipse ×1
graphics ×1
hibernate ×1
idisposable ×1
include ×1
inno-setup ×1
java ×1
javascript ×1
jsf ×1
maven ×1
optimization ×1
parent-child ×1
pascal ×1
spring ×1
threadstatic ×1
timing ×1
winforms ×1
wpf ×1