我正在考虑编写一个小型的C#编译器.
我一直在考虑的一个想法是写一个C#语法的子集,比如说ANTLR的2.0.然后,使用它来定位LLVM并为C#编写本机代码编译器?
这个想法是否有意义或者这不起作用?还有什么方法可以打电话给BCL吗?
我知道有CCI(通用编译器基础结构)可以帮助我简单地生成.NET可执行文件.但我很好奇我上面说过的可能吗?
我正在尝试在我维护的Web应用程序中调试SQL超时的来源.我有C#代码的源代码,所以我确切地知道正在运行什么代码.我已经将应用程序调试到执行超时的SQL代码的行,并且我在SQL分析器中观察运行的查询.
当此查询从Web执行时,它会在30秒后超时.但是,当我完全按照Profiler中显示的方式剪切/粘贴查询时,我将其放入SSMS并运行它,它几乎立即返回.我已经跟踪了ARITHABORT在Web正在使用的连接中设置为OFF的问题(也就是说,如果我在SSMS会话中关闭ARITHABORT,它会运行很长时间,如果我将其重新打开,那么它会运行很快).但是,阅读ARITHABORT的描述,它似乎并不适用......我只做一个简单的SELECT,并且根本没有执行任何算法......只有一个带有WHERE条件的INNER JOIN:
为什么ARITHABORT OFF会在此上下文中导致此行为?有什么办法可以改变SSMS对该连接的ARITHABORT设置吗?我正在使用SQL Server 2008.
sql-server ssms sql-server-2008 query-performance arithabort
你能在matplotlib的寄生轴图中绘制网格线吗?
我尝试这个,基于网格和寄生轴的样本,但不执行网格绘制:
from mpl_toolkits.axes_grid.parasite_axes import SubplotHost
import matplotlib.pyplot as plt
fig = plt.figure(1)
host = SubplotHost(fig, 111)
fig.add_subplot(host)
par = host.twinx()
host.set_xlabel("Distance")
host.set_ylabel("Density")
par.set_ylabel("Temperature")
p1, = host.plot([0, 1, 2], [0, 1, 2], label="Density")
p2, = par.plot([0, 1, 2], [0, 3, 2], label="Temperature")
host.axis["left"].label.set_color(p1.get_color())
par.axis["right"].label.set_color(p2.get_color())
host.grid(True)
host.legend()
plt.show()
Run Code Online (Sandbox Code Playgroud) 我想能够只给出它的id渲染到X Window.
在这种情况下,我有一个由gtk在python中创建的窗口.
我可以获取a的窗口ID gtk.Drawable并将其传递到我的C python模块中,但是我可以将OpenGL调用渲染到它吗?
我知道gtkglext,但如果可能的话宁愿不使用它.
更新1:
好吧,所以(现在很明显我已经看到了)你只需要XCreateWindow使用你得到的Window id的父级gtk.window.xid,使用opengl窗口的正确标志,然后嘿presto.
唯一的问题是如果窗口中没有多个小部件,我无法使其工作,否则似乎xid代表一个覆盖整个顶层窗口的窗口.不知道如何纠正这个问题.
更新2: 事实证明,如果你有一个与顶层大小相同的gl窗口,那么在gl窗口交换缓冲区之前,顶层窗口不会暴露事件.你只需要保持交换缓冲区,事情就好了.
更新3:
要回答@ babele的评论:
python gtk文档中的这个页面说明了如何从现有的xid创建一个gtk窗口.之后你只需记住继续为该窗口调用glXSwapBuffers(如果它是一个opengl缓冲窗口,否则它应该在你使用window_foreign_new时工作).
所以过程如下:
真正让我感到震惊的是,如果W2覆盖整个W1,那么W1将不会接收事件,直到W2的缓冲区被交换.如果W1是一个顶级窗口,这尤其令人困惑,因为它可能根本就没有任何东西出现在屏幕上(窗口就在那里,但它看起来就像它背后的任何东西,直到它被绘制,这不会发生,直到它得到曝光事件).
另请注意,您必须通过连接到gtk resize事件手动管理W2的大小调整.您可以通过连接到此信号,然后在处理程序中调用此函数并将结果传递到c/c ++模块来执行此操作,您可以在其中适当地调整W2的大小.请求最小尺寸是个好主意.
我正在尝试使用Java的ThreadPoolExecutor类来运行具有固定数量线程的大量重量级任务.每个任务都有许多地方,在这些地方可能因异常而失败.
我已经进行了子类化,ThreadPoolExecutor并且我已经覆盖了该afterExecute方法,该方法应该在运行任务时提供任何未捕获的异常.但是,我似乎无法使其发挥作用.
例如:
public class ThreadPoolErrors extends ThreadPoolExecutor {
public ThreadPoolErrors() {
super( 1, // core threads
1, // max threads
1, // timeout
TimeUnit.MINUTES, // timeout units
new LinkedBlockingQueue<Runnable>() // work queue
);
}
protected void afterExecute(Runnable r, Throwable t) {
super.afterExecute(r, t);
if(t != null) {
System.out.println("Got an error: " + t);
} else {
System.out.println("Everything's fine--situation normal!");
}
}
public static void main( String [] args) {
ThreadPoolErrors threadPool = new …Run Code Online (Sandbox Code Playgroud) java multithreading exception executorservice threadpoolexecutor
有没有人能够通过https使用ksoap2 android连接到肥皂服务器?
我一直收到"主机名<###>未经验证"的错误
我正在做
AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport (URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
Run Code Online (Sandbox Code Playgroud)
显然回顾其他ksoap不是为了你的安慰我们给我们一个不同的通过https连接的电话,但我找不到在Android版本中做到这一点的方法.
有人找到了一种关于或知道使用呼叫的方法吗?
谢谢你的帮助
我刚刚在搜索JQuery Form Validation时看到了John Resig,Yehuda Katz,Jarn Zaefferer和Paul McLanahan的这个JQuery元数据插件,这是一个有趣的想法!
我想知道存储错误/验证文本,工具提示文本,默认值文本等内容的一般最佳实践.我知道你可以将它们放入title="My Tooltip Message"属性中,但这会非常混乱,如果很多我的项目都有相同的工具提示和错误可以这么说.
那么将所有这些存储在隐藏的输入字段或html元数据中是否有任何问题?或者是否有更好的方法将它们全部存储在XML配置文件中并通过JQuery将它们删除?
有没有人听说过修复VS 2010 RC安装程序崩溃的问题?我已经看到它在Connect上提到了几次,但没有关于解决方法的说法.
我正在使用Unity和Unity.AutoRegistration.Unity的这一行:
unityContainer.RegisterType(typeof(IAction<>), typeof(Action<>));
Run Code Online (Sandbox Code Playgroud)
有效地将项目中的每个类注册到IAction/Action:
unityContainer.RegisterType<IAction<ObjectA>, Action<ObjectA>>();
unityContainer.RegisterType<IAction<ObjectB>, Action<ObjectB>>();
unityContainer.RegisterType<IAction<ObjectC>, Action<ObjectC>>();
[...]
unityContainer.RegisterType<IAction<UnrelatedObject>, Action<UnrelatedObject>>();
[...]
Run Code Online (Sandbox Code Playgroud)
但是,我只想要注册特定的对象.我该怎么办?我的猜测是为特定的类添加一个自定义属性装饰器.
[ActionAtribute]
public class ObjectB
{ [...] }
Run Code Online (Sandbox Code Playgroud)
并尝试使用Unity.AutoRegistration.这是我被困在的地方:
unityContainer.ConfigureAutoRegistration()
.Include(If.DecoratedWith<ActionAtribute>,
Then.Register()
.As ?? // I'm guessing this is where I specify
.With ?? // IAction<match> goes to Action<match>
)
.ApplyAutoRegistration();
Run Code Online (Sandbox Code Playgroud) 我尝试了几种方法,我真的只关心性能,而不是正确性.我注意到基于正则表达式的实现比使用类型强制的实现慢约3-4倍.还有另一种更有效的方法吗?
def IsNumber(x):
try:
_ = float(x)
except ValueError:
return False
return True
def IsNumber2(x):
import re
if re.match("^\d*.?\d*$", x) == None:
return False
return True
Run Code Online (Sandbox Code Playgroud)
谢谢!