问题列表 - 第4522页

PThread是多平台C/C++多线程程序的不错选择吗?

在过去的五年里,我一直在做Java和一些.NET,而且在那段时间里没有写过任何重要的C或C++.所以离开那个场景一段时间了.

如果我今天要编写一个C或C++程序来执行一些多线程并且可以跨Windows,Mac OS X和Linux/Unix移植源代码 - 那么PThread是一个不错的选择吗?

C或C++代码不会执行任何GUI,因此不需要担心任何这些.

对于Windows平台,我不想在unix仿真运行时库方面带来很多Unix包袱.更喜欢用于Windows的PThread API,它是现有Windows线程API的尽可能薄的包装器.

附录编辑:

我倾向于使用boost:thread - 我也希望能够使用C++ try/catch异常处理.即使我的程序相当简单而且不是特别OOPish,我喜欢使用类和命名空间封装 - 而不是C无实体的函数.

c c++ multithreading portability pthreads

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

给定一个音频流,找到一个门猛击(声压级计算?)

与拍手探测器不同("Clap on!clap clap Clap off!clap clap Clap on,clap off,Clapper! clap clap ")我需要检测门何时关闭.这是一辆车,比房间或家门更容易:

听:http://ubasics.com/so/van_driver_door_closing.wav

看:
波形图像显示稳定线,然后突然中断,稳定下降到稳定线

它的采样速率为16位4khz,我希望避免大量处理或存储样本.

当您在大胆或其他波形工具中查看它时,它非常独特,并且由于车辆中声压的增加而几乎总是剪辑 - 即使窗户和其他门打开时:

听:http://ubasics.com/so/van_driverdoorclosing_slidingdoorsopen_windowsopen_engineon.wav

看:
替代文字

我希望有一个相对简单的算法可以读取4kHz,8位的读数,并跟踪"稳态".当算法检测到声级显着增加时,它将标记该点.

  • 你的想法是什么?
  • 你怎么会发现这个事件?
  • 声压级计算的代码示例是否有帮助?
  • 我可以减少采样频率(1kHz甚至更慢?)

更新:使用Octave(开源数值分析 - 类似于Matlab)并查看均方根是否会给我我需要的东西(这导致与SPL非常相似的东西)

Update2:在简单的情况下,计算RMS可以轻松地关闭门:
替代文字 替代文字
现在我只需要看看困难的情况(收音机,高温/高空等).CFAR看起来非常有趣 - 我知道我将不得不使用自适应算法,CFAR肯定符合要求.

-亚当

c algorithm audio signal-processing

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

提交空白(包括所有空白)表单提交

如果我的网站上有问题,用户可以在空闲时发布空消息.

码:

if (isset($_POST['submit'])) {

  // check for empty fields
  if (empty($_POST['headline']) || empty($_POST['text']) ||
      empty($_POST['forum_id'])) {
      header("Refresh: 2; url=/add-thread"); 
      die('You must fill out every field.');
  }

// No errors? Save.
else {
$headline = mysql_real_escape_string($_POST['headline']);
$text = mysql_real_escape_string($_POST['text']);

mysql_query("INSERT INTO threads (headline, text, date, forum_id, user_id)
             VALUES ('$headline', '$text', NOW(), '$_POST[forum_id]', '$user[id]')");

header("Location: /thread/".mysql_insert_id()."");
}

}
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

php post

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

递归地连接javascript函数参数

我遇到了一个javascript难题:写一个单行的JavaScript代码,它连接传递给函数的所有字符串:


    function concatenate(/*any number of strings*/) {
      var string = /*your one line here*/
      return string;
    } 

@ Meebo的

看到函数参数表示为索引对象可能是一个数组,我认为可以以递归方式完成.但是我的递归实现会抛出错误. - "conc.arguments.shift不是函数" -


    function conc(){
        if (conc.arguments.length === 0) 
            return "";
        else 
            return conc.arguments.shift() + conc(conc.arguments);
}

似乎conc.arguments不是一个数组,但可以通过数字索引访问并具有长度属性??? 令人困惑 - 请分享意见和其他递归实施.

谢谢

javascript recursion variadic-functions

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

从ASP.NET MVC操作发送HTTP 404响应的正确方法是什么?

如果给出路线:

{FeedName}/{ItemPermalink}

例如:/ Blog/Hello-World

如果该项不存在,我想返回404.在ASP.NET MVC中执行此操作的正确方法是什么?

asp.net asp.net-mvc http-status-code-404

90
推荐指数
6
解决办法
3万
查看次数

Mac OS 中“tee”的代码在哪里?

Mac OS 中终端命令“tee”的代码在哪里?

[已添加]是否可以读取我的 mac 正在使用的确切代码(不是在线代码)?

macos tee

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

如何在右下方的文本中包装文本?

每当我尝试在CSS中做一些看似简单的事情时,它都行不通.

我有一个包含460x160图像的内容div.我想要做的就是将图像放在右下角并将文本环绕在它周围.

<div id="contents">
    <img src="..." />
    text text text text text text ...
</div>
Run Code Online (Sandbox Code Playgroud)

所以我希望它看起来像:

------------------
| text text text |
| text text text |
| text text -----|
| text text |    |
------------------
Run Code Online (Sandbox Code Playgroud)

使用左上角或右上角图像进行操作是蛋糕:

#contents img { float:right; }

------------------
| text text |    |
| text text -----|
| text text text |
| text text text |
------------------
Run Code Online (Sandbox Code Playgroud)

现在我该怎么把它推到底部?到目前为止,我提出的最好的是:

#contents img { float:right; margin-top: 90%} // really needs to be 100%-160px

------------------
| text …
Run Code Online (Sandbox Code Playgroud)

html css css-float

57
推荐指数
3
解决办法
4万
查看次数

JavaScript最佳实践

这与此问题有些相关,但我并不是要求有关JavaScript最佳实践的资源,而是您的实际建议.

我将从我自己的列表开始.如果您确定该建议没有争议,您可以发布答案或直接编辑问题.

开始了:

  • 总是用 var
  • 大写构造函数的名称 - 没有别的
  • 使用===比较
  • 使用原语,如显式转换Number(),String(),Boolean()
  • 检查原始类型 typeof
  • 检查对象类型 instanceof
  • 检查内置对象类型Object.prototype.toString()以避免跨框架问题,例如

    Object.prototype.toString.call(obj) === '[object Array]'
    
    Run Code Online (Sandbox Code Playgroud)
  • 检查this构造函数,例如

    function MyObject() {
        if(!(this instanceof arguments.callee))
            throw new Error('constructor called with invalid `this`');
        // [...]
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 使用匿名函数进行命名空间不会污染全局范围,例如

    (function() {
        var noGlobalVar = 'foo';
        // [...]
    })();
    
    Run Code Online (Sandbox Code Playgroud)
  • hasOwnProperty()for..in循环 - 不要假设没有人搞乱原型

  • 不要使用for..in循环迭代数组或类数组对象的元素

javascript

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

如何在页面加载后暂时禁用javascript?

我想在页面加载后禁用Javascript.

为什么?

因为我想测试当javascript不可用时,如下所示的行为如何"降级",但我不想要进入浏览器的顶级Javascript启用/禁用功能的hastle.另外我特意想在页面加载后禁用它,因为我想将我的测试与一个表单的执行方式隔离开来(我在页面的其余部分运行jQuery并且我不想丢失它).

允许我为此代码禁用JS允许我测试表单回发以及AJAX回发.

<form action="/pseudovirtualdirectoryfortesting/company/Contact" id="fooForm" method="post" onsubmit="Sys.Mvc.AsyncForm.handleSubmit(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, loadingElementId: 'submitting', onBegin: Function.createDelegate(this, submitComments_begin), onComplete: Function.createDelegate(this, submitComments_complete), onFailure: Function.createDelegate(this, submitComments_failure), onSuccess: Function.createDelegate(this, submitComments_success) });">

我可以使用哪些插件或策略.我希望能够在不同的浏览器中进行测试,我工作的一些项目只针对一个浏览器设计(不是我的错),所以我需要尽可能多的解决方案.

javascript ajax

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

Javascript日期:下个月

我一直在为项目使用Javascript的日期,但今天注意到我之前工作的代码不再正常工作.下面的代码不是按预期产生二月,而是产生三月.

我的代码看起来像这样:

current = new Date();
current.setMonth(current.getMonth()+1); //If today is Jan, expect it to be Feb now
Run Code Online (Sandbox Code Playgroud)

这段代码每天工作到今天.这是一个Javascript错误还是我错误的方式?

javascript date

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