#include <stdio.h>
#include <signal.h>
void ALARMhandler(int sig)
{
signal(SIGALRM, SIG_IGN); /* ignore this signal */
printf("Hello");
signal(SIGALRM, ALARMhandler); /* reinstall the handler */
}
int main(int argc, char *argv[])
{
alarm(2); /* set alarm clock */
while (1)
;
printf("All done");
}
Run Code Online (Sandbox Code Playgroud)
我希望程序在2秒后打印"你好",而输出是"zsh:alarm ./a.out"
知道发生了什么事吗?
我正在寻找一个好的图形框架来在Ruby中制作一个漂亮的2D游戏.我做了3个非常简单的测试,看看Gosu和Rubygame之间哪个图形Ruby框架更快.该测试创建1000个"Square"类的实例,使用框架的方法以最简单的方式移动和绘制红色方块.第三个测试是相同的,但在纯OpenGL实现(没有任何框架).结果如下:
PURE OPENGL(使用ruby-opengl)80Fps: 替代文字http://grab.by/JTM
GOSU(使用ruby-opengl + gosu)46Fps: alt text http://grab.by/JTC
RUBYGAME(使用ruby-opengl + rubygame + rsdl)32Fps: alt text http://grab.by/JTw
为什么纯OpenGL测试和Rubygame或Gosu测试之间存在如此大的fps差异?(他们都使用opengl)
那些框架真的可靠还是我应该使用更好的框架?(我不认为自己经历了在纯OpenGL中加载图像声音和字体的整个过程:p)
你怎么看?
我只是好奇是否有一个gui框架可以合并你在其他平台上使用mac外观.可能使用本机API的框架没有用处(例如wxwidgets).qt部分使用本机API来实现mac look n,因此无用.摇摆怎么样?
我正在尝试在我的C#应用程序中实现块文件锁定.如果内置FileStream.Lock方法无法获取锁定,则抛出异常.
底层LockFile方法返回状态代码但是我不想使用自旋锁来等待文件被解锁.
有没有人在C#中有任何代码片段,显示如何使用句柄正确构造OVERLAPPED结构wait并将其传递给LockFileEx等待操作完成?我试图避免使用Overlapped.Pack方法,因为它们不安全,但主要是因为它们需要的IOCompletionCallback不是我想要实现的.
我有声明,但结构的构造和使用OverLapped似乎有点复杂.
注意:我知道我需要手动固定重叠结构,直到等待完成.我目前的代码如下:
ManualResetEvent evt = new ManualResetEvent(false);
OVERLAPPED overlapped = new OVERLAPPED();
overlapped.OffsetLow = offsetLow;
overlapped.OffsetHigh = offsetHigh;
overlapped.hEvent = evt.SafeHandle;
GCHandle h = GCHandle.Alloc(overlapped, GCHandleType.Pinned);
int hr = Win32.LockFileEX(_handle, LockFlags.Exclusive, 0, offsetLow, offsetHigh,
GCHandle.ToIntPtr(h));
if(hr == 0)
{
int error = Marshal.GetLastWin32Error();
if(error = Win32.ERROR_IO_PENDING)
{
evt.WaitOne();
}
else
{
//ohpoo
}
}
Run Code Online (Sandbox Code Playgroud)
最终按照我的意愿工作的代码是:
[StructLayout(LayoutKind.Sequential)]
public …Run Code Online (Sandbox Code Playgroud) 我目前正在使用python/django网站,目前我有一个看起来像这样的模板
{% extends "shopbase.html" %}
{% block pageid %}products{% endblock %}
{% block right-content %}
<img src="{{MEDIA_URL}}/local/images/assets/products.png" alt="Neal and Wolf News" class="position"/>
<div class="products">
<form method="post" action="{% url category category.slug %}">
{% for product in category.products.all %}
<div class="{% cycle 'clear' '' '' %}">
<img src="{{MEDIA_URL}}{{download.mini.thumbnail}}" alt="{{product.name}}" class="thumbnail"/>
<h3><a href="{% url shop.views.product category.slug product.slug %}">{{ product.product_type_name }}</a></h3>
<p class="strap">{{ product.product_sub_name }}</p>
<p>{{ product.strap }}</p>
<ul class="clear">
<li class="price"><b>£{{product.price}}</b></li>
<li class="quantity">
<select name="quantity_{{product.id}}">
<option label="1" value="1">1</option>
<option label="2" value="2">2</option>
<option label="3" …Run Code Online (Sandbox Code Playgroud) 我想在我的plist中设置Bundle Version.但是,当您查看更多信息时,finder实际上看到的值是"捆绑版本字符串,简短",但是,编辑此内容需要打开plist文件,而不是仅仅编辑"版本" "在目标设置中.
有没有办法要么a)使捆绑版本始终等于捆绑版本短,b)使查找器查看捆绑版本而不是短串或c)使短版本出现在编辑目标设置窗口中?
或者,有什么更好的方法我应该处理这个?
谢谢.
如何在没有sso服务器的情况下实现基于cookie的单点登录?我想在浏览器上只使用cookie共享跨多个应用程序登录的用户.
在我看来它的工作方式如下:
在该解决方案中,用户可以看到(另一个用户的)浏览器cookie并且获取用户名的字符串.然后他可以将它添加到自己的cookie上(不好!).
有一些安全的方法来做到这一点?使用基于时间戳的控件或类似的东西?
提前致谢.
再见
PS我知道我的英语不是很好......对不起!
我使用文件附件在drupal中的节点中附加文件.但它不允许我上传大于1MB的文件.我想上传50MB的文件.如何增加这个尺寸.提前致谢.
我试图从使用该值的Javascript关联数组中删除一个元素来找到它,但我遇到了麻烦.我尝试过splice和JQuery的grep方法,但对我来说都没有.这就是我现在拥有的.
var array_path = new Array();
function bulk_upload(){
var temp_array = new Object();
for (var i = 1; i<8; i++){
temp_array[i] = $('#path' + i).val();
if(temp_array[i]!='' && temp_array[i]!=null){
array_path['path' + i] = $('#path' + i).val();
}
}
process_txt();
}
function process_txt(){
//alert(array_path.indexOf(full_path)); //returns nothing
var removed_element = array_path.splice(getKey(array_path), 1);
//array_path = $.grep(array_path, function(val) { return val != full_path; });
alert(removed_element);//return nothing, just blank alert box
}
function getKey(data) {
for (var prop in data)
return prop;
}
Run Code Online (Sandbox Code Playgroud) 有没有办法编写强类型的 SQL Server 存储过程(即返回列的已知结果集)并使其组语句是动态的。
就像是:
SELECT SUM( Column0 ) FROM Table1
GROUP BY @MyVar
Run Code Online (Sandbox Code Playgroud)
我也尝试了以下方法:
SELECT SUM( Column0 ) FROM Table1
GROUP BY CASE @MyVar WHEN 'Column1' THEN Column1 ELSE Column2
Run Code Online (Sandbox Code Playgroud)
第二条语句仅适用于 Column1 和 Column2 的数据库类型相同的场景。如果它们不是 SQL 引擎,则会抛出类似于以下内容的错误:“将 nvarchar 值 'SYSTEM' 转换为数据类型 [The Different TYPE] 时,转换失败。”
我能做些什么来获得强大的结果集,同时又拥有一些动态的部分——即我的情况下的石斑鱼?这将暴露给 LINQ。
编辑:
看起来你可以做到,但你不应该!绝对矫枉过正。测试显示执行计划慢了一千倍。并且它只会随着更大的结果集而变慢。