小编the*_*ejh的帖子

C是否支持函数表达式?

是否可以在C中使用函数表达式?例如,我有以下代码片段(在main函数内):

void print_line(char *data) {
  printf("%s\n", data);
}

// print all elements in my_list
list_foreach(&my_list, print_line);
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

list_foreach(&my_list, void (char *data) {
  printf("%s\n", data);
});
Run Code Online (Sandbox Code Playgroud)

C中有什么可能吗?

c syntax functional-programming

7
推荐指数
1
解决办法
220
查看次数

我可以coredump阻塞磁盘活动的进程(最好不要杀死它)吗?

我想转储正在运行的进程的核心,根据/proc/<pid>/status当前阻塞的磁盘活动.实际上,它正忙于在GPU上工作(应该是4个小时的工作,但现在已经花了很长时间).我想知道这个过程的工作有多少,所以能够转储进程的内存是件好事.但是,据我所知,"阻止磁盘活动"意味着无法以任何方式中断进程,并且使用gdb进行coredumping进程需要中断并暂时停止进程以便通过ptrace进行连接,对吧?

我知道我只能/proc/<pid>/{maps,mem}以root身份读取以获得(可能不一致的)内存状态,但我不知道如何获取进程的用户空间CPU寄存器值...它们保持相同而进程在内核,对吗?

linux coredump cpu-registers

7
推荐指数
1
解决办法
661
查看次数

无法从外部访问NodeJS服务器

我在Rackspace中部署了一个nodejs服务器,可以在内部访问,如下所示:

curl http://127.0.0.1:8080

但是,即使我这样做,它也无法从外部(互联网)访问:

iptables -A OUTPUT -p tcp  --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp  --dport 8080 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

这是我的代码的样子:

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Simple server\n');
}).listen(8080, "0.0.0.0");
console.log('Server running at http://0.0.0.0:8080/');
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

iptables node.js

6
推荐指数
2
解决办法
1万
查看次数

什么是使用 Pango 将文本渲染为使用 FreeType 字体的图像的简单示例?

我想使用 Pango 呈现文本,但找不到不使用 Cairo 的示例代码。有人可以给我一个使用 FreeType 后端的 Pango 用法的简单示例吗?这就是我认为它应该大致工作的方式,但是正如您在代码中看到的那样,有些事情我还不明白。

// context and font stuff
PangoFontMap *fontmap = pango_ft2_font_map_new();
// do I have to initialize the fontmap?
PangoContext *context = pango_font_map_create_context(fontmap);
PangoFontDescription *desc = pango_font_description_new();
pango_font_description_set_style(desc, PANGO_STYLE_NORMAL); // not bold or italic
pango_font_description_set_size(desc, 12); // 12pt font
PangoFont *font = pango_context_load_font(context, desc);

// target bitmap
FT_Bitmap bitmap;
// how do I say how big the bitmap should be? write it into the struct?
FT_Bitmap_New(&bitmap);

// text
char *text = "Hello World"; …
Run Code Online (Sandbox Code Playgroud)

c pango freetype text-rendering

6
推荐指数
1
解决办法
4746
查看次数

如何将图像粘贴到Web App中?有哪些解决方案?HTML 5画布?

我目前正在构建一个非常简单的骨骼Web应用程序,它要求能够在浏览网页时复制图像,然后将其粘贴到我的页面上.

我知道这种类型的功能是可能的 - 因为我在写消息时将图像粘贴到gmail中,然后插入Tumblr(我相信他们使用TinyMCE作为编辑器).

经过长时间的搜索 - 我对可用解决方案的解释质量很差感到很难过.

这就是我收集的内容:

$(document).bind('paste', function(e){
console.log(e);
})
Run Code Online (Sandbox Code Playgroud)

检查事件对象时,似乎只有在有文本时才会包含数据(无论如何都在Chrome中).

我知道IE有一个clipboardData对象,可以访问剪贴板内容.

我也听说过使用Flash,Java Applet和HTML 5 Canvas的可能解决方案 - 但我还没有找到解释这些解决方案的优秀文章.

任何人都成功完成了这项工作,并建议最佳做法?

javascript image pasting

5
推荐指数
2
解决办法
2459
查看次数

是否使用递归process.nexttick让其他进程或线程工作?

从技术上讲,当我们执行以下代码(recursive process.nexttick)时,CPU使用率将达到100%或接近.问题是想象我在一台带有一个CPU的机器上运行,并且还有另一个节点HTTP服务器工作的过程,它如何影响它?

该线程是否正在进行递归process.nexttick让HTTP服务器工作?

如果我们有两个递归process.nexttick的线程,他们都获得50%的份额?

由于我不知道任何一个核心的机器都无法尝试.而且由于我对线程之间CPU的时间共享的理解在这种情况下是有限的,我不应该如何尝试使用具有4核CPU的机器.

function interval(){
  process.nextTick(function(){
    someSmallSyncCode();
    interval();  
  })
} 
Run Code Online (Sandbox Code Playgroud)

谢谢

process cpu-usage multiprocessing node.js

5
推荐指数
1
解决办法
2416
查看次数

如何在linux上创建临时文件,无论如何都会自动清理?

我想在linux上创建一个临时文件,同时确保文件在我的程序终止后消失,即使它被杀死或有人在错误的时刻执行硬重启.不tmpfile() 处理这一切对我?

linux temporary-files

5
推荐指数
1
解决办法
1万
查看次数

什么是易于破解的C预处理器?

我想为C预处理器添加一个小功能,但为此,我需要一个易于理解且易于修改的功能.具体来说,我正在寻找以下标准:

  • 小代码化
  • 充分证明
  • 易于修改
  • 免费软件(我希望能够分发修改后的代码而无需支付费用.)

我已经找到了tcc,它包含一个预处理器并且相当小,但据我所知,缺乏关于如何实现预处理的良好文档.我应该试着了解tcc是如何做到的,还是更好地适应?

c c-preprocessor

5
推荐指数
1
解决办法
228
查看次数

printf不打印到屏幕

如果我尝试在Windows 7上的Cygwin下运行以下简单代码,

#include <stdio.h>
int main() {
int i1, i2, sums;

printf( "Enter first integer\n" );
scanf( "%d", &i1 );

printf( "Enter second integer\n" );
scanf( "%d", &i2 );

sums = i1 + i2;
printf( "Sum is %d\n", sums );

return 0;
}
Run Code Online (Sandbox Code Playgroud)

它编译(通过gcc)没有问题,但是当我尝试执行它时,第一个语句("输入第一个整​​数")没有打印到终端,我必须输入两个连续的数字(例如3和4)在我得到之前

3
4
Enter first integer
Enter second integer
Sum is 7
Run Code Online (Sandbox Code Playgroud)

任何人都可以向我解释这里发生了什么.这在MinGW下非常有效.

c cygwin stdio

5
推荐指数
3
解决办法
2万
查看次数

是否有一个用于GUI的C库,它不需要使用自己的事件循环?

我正在寻找一个GUI工具包,我可以在普通的C中使用,至少在Linux上工作,并且不会强迫我使用它自己的eventloop - 我想使用libev作为主循环并让它通知工具包库时X事件进入左右.

我还没有找到类似的东西 - 我真的需要修补工具包库以获得我想要的东西吗?

c x11 user-interface toolkit event-loop

5
推荐指数
1
解决办法
464
查看次数