我正在尝试用CUDA.Net编写一个幼稚的应用程序,但我运气不好.
我已经想到了:
using GASS.CUDA;
// ...
var c = new CUDA();
// c.Launch(myfunc); // ???? how ???
Run Code Online (Sandbox Code Playgroud)
myfunc显然应该是类型,GASS.CUDA.Types.CUfunction但我没有找到如何定义一个.
我写了这个小程序来证明问题的重点:
using System;
using System.IO;
using System.Threading;
class Program
{
static void Main(string[] args)
{
using (var disp = new MyDisp())
{
using (var ewhLocalExit = new EventWaitHandle(false, EventResetMode.ManualReset))
{
Console.WriteLine("Enter Ctrl+C to terminate the app.");
Console.CancelKeyPress += (_, e) =>
{
e.Cancel = true;
ewhLocalExit.Set();
};
ewhLocalExit.WaitOne();
}
}
File.AppendAllText("Log.txt", "Terminated.\n");
}
}
class MyDisp : IDisposable
{
public MyDisp()
{
File.AppendAllText("Log.txt", "Started.\n");
}
public void Dispose()
{
File.AppendAllText("Log.txt", "Disposed.\n");
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行它并按Ctrl + C时,我看到"Started.Disposed.Terminated".在Log.txt中
当我运行它并用鼠标关闭它时,我只看到"已启动".
如何优雅地退出,这样我至少可以看到"Disposed".?
在正常程序执行期间,可能会发生异常.
如果我意识到它并且只是想忽略它 - 我如何在F#中实现这一点?
这是我的代码,它编译了一个警告:
let sha = new SHA1CryptoServiceProvider()
let maxLength = 10000
let fileSign file =
let fs = File.OpenRead(file)
let mutable res = (0L, [|0uy|])
try
let flLen = fs.Length
let len = int (min (int64 maxLength) flLen)
// read 'len' bytes
let mutable pos = 0
while (pos < len) do
let chunk = fs.Read(buf, pos, len - pos)
pos <- pos + chunk
// get signature
let sign = sha.ComputeHash(buf, 0, len)
// store new …Run Code Online (Sandbox Code Playgroud) 作为搜索查询的结果,我经常需要向用户显示文件列表.
通常我会描述我自己的简单DataTemplate FileInfo.但是我懒得重新实现所有Explorer的功能:视图,排序,上下文菜单和拖放.
我觉得这个问题很常见,而且有人已为此目的组建了一个好的图书馆.
虽然那里有很多3D库,但我很难找到适合WPF的3D库.
基本上,我想要一个角色动画引擎,它可以加载骨骼层次结构并允许我操作蒙皮网格.
我知道,这是所有3D引擎的经典主题.它们是用于构建游戏的.
如何在WPF应用程序中显示Skinned Character?
我正在编写一个显示图表并显示依赖关系的简单网页.我发现了path元素在其中的呈现方式的意外行为svg.
这是示例的完整HTML:
<html>
<body>
<svg id="svgConnections" xmlns="http://www.w3.org/2000/svg" style="width: 300px; height: 120px">
<defs>
<linearGradient id="grad1" >
<stop offset="0%" style="stop-color:yellow;stop-opacity:1" />
<stop offset="100%" style="stop-color:red;stop-opacity:1" />
</linearGradient>
</defs>
<path d="M40,40 L100,100 Z" stroke="url(#grad1)" strokeWidth="1px" />
<path d="M200,100 L140,40 Z" stroke="url(#grad1)" strokeWidth="1px" />
</svg>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
同样的例子在https://jsfiddle.net/4fLjm0e2/
让我感到困惑的是,从左上角到右下角的第一条线看起来与第二条线完全相同,后面是"反向":从右下角到左上角.
如何使路径始终以黄色开头并以红色结束?
目前我在科学实验中使用
dbg = print
# def dbg(*args): pass
Run Code Online (Sandbox Code Playgroud)
所以我有很多dbg(x, y, f(x))代码,所有这些我都可以“关闭”注释一行并取消注释另一行。
然而,输出看起来很简短,例如0 15 32。
有没有办法让它看起来像x = 0, y = 15, f(x) = 32?
我尝试使用 写一些东西eval,但不能。
我看过F#和DirectX的演示.
用户选择一部分F#代码并将其发送给F#interactive.它之间,表单的线程正在工作:表单显示动态内容并响应点击.
我可以得出结论,对于现有的C#winforms项目, 我可以创建一个引用它的F#项目,然后在F#interactive中启动F#项目 来运行表单的任意方法 吗?
编辑:btShowNextNumber_Click在正在运行的应用程序中调用的步骤是什么?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int i = 0;
private void btShowNextNumber_Click(object sender, EventArgs e)
{
++i;
label1.Text = i.ToString();
}
}
Run Code Online (Sandbox Code Playgroud) F#interactive是一个功能强大的开发工具,因为它允许运行WinForm或Wpf窗口并在那里调用任意代码.
这为"先试后试"方法提供了一种方法.
我经常希望明确地"突破界限"
是否有解决方法来实现这一目标?
在C#中,我可以:
var n = new Person()
{
FirstName = "John",
LastName = "Smith"
};
Run Code Online (Sandbox Code Playgroud)
我可以在F#中做同样的事情吗?我的意思是,创建一个类并指定一些属性.