问题列表 - 第29006页

Prob比较C中的指针和整数

嗨,这个代码有问题.当我使用此功能时,我没有任何警告.:

    void handler(int sig){
   switch(sig) {
     case SIGINT : { click++; fprintf(stdout,"SIGINT recu\n");
                           if( click == N){
                             exit(0);
                           }
   }
     case SIGALRM : fprintf(stdout,"SIGALRM received\n");
                    exit(0);
     case SIGTERM:  fprintf(stdout,"SIGTERM received\n");
                     exit(0);


  }
  }
Run Code Online (Sandbox Code Playgroud)

但是当我用这个新版本重写函数时,我在if语句中有一个" 指针和整数之间的比较 "警告:

void handler( int sig){
   printf("Signal recu\n");
    if( signal == SIGINT){
     click++;
     fprintf(stdout,"SIGINT received; Click = %d\n",click);
     if(click == N){
      fprintf(stdout,"Exiting with SIGINT\n");
       exit(0);
     }
   } else if(signal == SIGALRM){
      fprintf(stdout,"SIGALRM received\n"); 
      exit(0);
   } else if(signal == SIGTERM){
     fprintf(stdout,"SIGTERM received\n"); 
     exit(0);
   }
Run Code Online (Sandbox Code Playgroud)

有人能告诉我问题在哪里吗?

c signals

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

无法在C#中的静态类中声明实例成员

我有一个public static class,我试图appSettings从我在C#中的app.config文件访问,我得到标题中描述的错误.

public static class employee
{
    NameValueCollection appSetting = ConfigurationManager.AppSettings;    
}
Run Code Online (Sandbox Code Playgroud)

我如何让它工作?

c#

38
推荐指数
3
解决办法
10万
查看次数

列出GNU中的目标/目标,使其在定义中包含变量

我有一个相当大的makefile,它通过计算变量中的名称来动态创建多个目标.(例如foo $(VAR):$(PREREQS)).有没有什么方法可以让gnu make在扩展这些变量之后吐出一系列目标?

我希望能够获得aribitrary makefile的目标.我正在尝试为我的shell编写一个完成函数.

makefile gnu-make

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

对于只读,无序的唯一字符串集合,性能最快的选项是什么?

免责声明:我意识到这个问题的答案是完全明显的HashSet<string>.这是荒谬的快速,它是无序的,它的价值是独一无二的.

但我只是想知道,因为HashSet<T>是一个可变类,所以它有Add,Remove等; 因此,我不确定使这些操作成为可能的基础数据结构是否会在读取操作时牺牲某些性能- 特别是我关心的Contains.

基本上,我想知道现有的绝对最快的数据结构是什么,可以Contains为类型的对象提供方法string.在.NET框架内部或外部.

我对各种答案感兴趣,不论其局限性如何.例如,我可以想象某些结构可能被限制为一定长度的字符串,或者可能根据问题域(例如,可能的输入值的范围)等进行优化.如果存在,我想听听它.

最后一件事:我不是将其限制为只读数据结构.显然,任何读写数据结构都可以嵌入到只读包装器中.我甚至提到"只读"这个词的唯一原因是我对数据结构没有任何要求允许添加,删除等等.如果它具有这些功能,我不会抱怨.


更新:

Moron的回答是我正在寻找的那种事情的一个很好的例子.一个特里*肯定似乎是一个很大的可能性,原因如下:HashSet<T>.Contains依赖于GetHashCode一些功能IEqualityComparer<string>,其中,据我可以告诉,是O(n)**默认情况下,在.NET.换句话说,在一个字符串中的每个字符必须检查HashSet<string>.Contains返回无论是true false.对于a Trie,只有返回值true需要O(n)来确定 ; 返回值false可能会更快地返回.

这当然是假设的.到目前为止,我还没有编写或遇到过.NET中可以击败HashSet<string>at 的Trie实现Contains(尽管我自己编写的实现与字母'a'到'z'非常接近).我只是说,似乎有可能.

*顺便说一句,这个链接也让我有了另一个有趣/类似的可能性:DAWG.
**这里"n"指的是字符串的长度.

.net string performance hashset data-structures

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

什么是GET和POST加密之间的区别?

加密GET和POST数据有什么区别?谢谢答案

编辑:我需要更具体地写它.

当https-SSL加密这两种方法时,浏览器执行此操作的方式有何不同.哪些部分是加密的,哪些不是?我在某处读到,目标网址在POST中没有加密,是真的吗?如果它在GET中是真的并且相同,那么所有参数都在哪里?

编辑2:仍然不知道我的问题的答案.当两种方法都使用相同的数据加密时,嗅探时看起来是否相同?哪些部分是加密的,哪些不是?

https post get

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

我可以将指针传递给超类,但是可以创建一个子类的副本吗?

我有一个函数,它获取指向超类的指针并对其执行操作.但是,在某些时候,该函数必须对输入的对象进行深度复制.有什么方法可以执行这样的副本吗?

我想到让函数成为模板函数并让用户传递类型,但我希望C++提供更优雅的解决方案.

c++ polymorphism copy-constructor

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

Java NIO Servlet to File

有没有办法(没有缓冲整个Inputstream)从Java Servlet获取HttpServletRequest并使用所有NIO将其写入文件?它甚至值得尝试吗?从普通的java.io流中读取并写入java.nio频道是否会更快?或者它们是否真的需要纯粹的NIO才能看到好处?谢谢.

编辑:

所以我只是做了一个快速而又脏的基准测试,从一个磁盘读取文件并写入另一个磁盘(所以我实际上是测试代码而不是磁盘).

Averages:
InputStream -> OutputStream : 321 ms.
FileChannel -> FileChannel  :   3 ms.
InputStream -> FileChannel  : 600 ms.
Run Code Online (Sandbox Code Playgroud)

实际上我尝试使用混合java.io - > java.nio时性能更差.nio-> nio速度快了很多,但我坚持使用Servlet InputStream.

java performance servlets nio

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

gradle runJar任务?

我正在尝试使用gradle运行我的Jar文件.

我想出了以下内容:

task runJar(dependsOn:[jar]){
  ant.java(jar:,fork:true)
}
Run Code Online (Sandbox Code Playgroud)

但是,我无法找到jar文件的路径.任何帮助非常感谢.谢谢!

米莎

编辑:好的,这很奇怪.这个任务编译之前运行等等.

编辑:修正.关键是doLast {}符号,或者简写

task runJar(dependsOn:"jar")<<{
  ant.java(jar:"${libsDir}${File.separator}${archivesBaseName}.jar",fork:true)
}
Run Code Online (Sandbox Code Playgroud)

米莎

java gradle

7
推荐指数
2
解决办法
7285
查看次数

如何使用JQuery Validate在单击提交按钮时创建一个包含所有表单错误的弹出窗口?

我正在使用JQuery Validation插件进行客户端表单验证.除了无效表单字段上的多彩样式之外,我的客户端还需要显示弹出消息.我只想在单击提交按钮时显示此消息,否则会导致用户疯狂.我尝试了以下代码,但errorList始终为空.任何人都知道做类似事情的正确方法.

function popupFormErrors(formId) {
  var validator = $(formId).validate();
  var message = '';
  for (var i = 0; i < validator.errorList.length - 1; i++) {
    message += validator.errorList[i].message + '\n';
  }

  if (message.length > 0) {
    alert(message);
  }
}

$('#btn-form-submit').click(function(){
  $('#form-register').submit(); 
  popupFormErrors('#btn-form-submit');
  return false;
});

$('#form-register').validate({
  errorPlacement: function(error, element) {/* no room on page */},
  highlight: function(element) { $(element).addClass('invalid-input'); },
  unhighlight: function(element) { $(element).removeClass('invalid-input'); },
  ...
});
Run Code Online (Sandbox Code Playgroud)

更新 从接受的答案中的信息我想出了这个.

var submitClicked = false;

$('#btn-form-submit').click(function() {
  submitClicked = true;
  $('#form-register').submit();    
  return …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-plugins jquery-validate

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

在Vim中进行Ruby重构

我是Visual Studio中Resharper的忠实粉丝.它有一些很棒的重构工具,类似于Eclipse for Java中的工具.Ruby有这样的东西吗?更好的是,Vim中是否有一个插件或其他东西可以重构Ruby代码,比如重命名方法或变量的所有实例,在全站点重命名类等等?

ruby vim refactoring

9
推荐指数
2
解决办法
1892
查看次数