问题列表 - 第29771页

从c中的简单单元测试开始

我的老板告诉我为我写的小c文件(foo.c)编写单元测试.我在网上看了很多关于单元测试的背景知识,比如只测试一个函数并使测试完全自动化,但我没有找到任何关于如何实现实际单元测试的教程.我尝试了以下方法,但失败了.

    /*foo.c*/
    #include foo.h
    #if UNIT_TESTING
    #define main example_main
    #endif

    int foo1(...){...}
    int foo2(...){...}

    int main(int argc,char **argv) {
        foo1(...);
        foo2(...);
    }



    /*test_foo.c*/
    #include "foo.h"

    void main(int argc,char **argv) {

        int i = example_main(argc,argv);
        return;
    }



    /*foo.h*/
    int example_main(int argc,char **argv);
Run Code Online (Sandbox Code Playgroud)

作为cmd,我使用:

gcc -Wall -pedantic foo.c test_foo.c -DUNIT_TEST=1 -o test_foo.out
Run Code Online (Sandbox Code Playgroud)

我得到以下错误:

test_foo.c: warning: return type of ‘main’ is not ‘int’
test_foo.c: In function ‘main’:
test_foo.c warning: unused variable ‘i’
/tmp/ccbnW95J.o: In function `main':
test_foo.c: multiple definition of `main'
/tmp/ccIeuSor.o:foo.c:(.text+0x538b): first …
Run Code Online (Sandbox Code Playgroud)

c linux unit-testing

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

function(e){e.something ...}什么是e?

当我写作

$("#new_lang").click(function(e) 
{
  alert("something");
  e.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)

什么是Ë这里,为什么没有功能的工作没有它?为什么我可以写任何东西而不是e?

javascript jquery

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

如何进行预提交挂钩以防止非UTF-8文件编码

是否可以为git或svn制作一个可以拒绝未在特定编码中提交的文件的预提交挂钩?

我曾经在几个项目上工作,坚持某种文件编码似乎是一个问题(例如UTF-8)

svn git pre-commit-hook

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

Linux:我可以在不使用任何IPC(管道等)的情况下读取另一个进程的输出吗?

是否有可能在linux中以某种方式读取另一个进程的输出(来自stdout和stderr)而不知道它?所以假设我有一个进程A在后台运行而进程B想要读取它的输出 - 这可能吗?我不能使用管道或屏幕程序.我尝试从/ proc/xxx/fd或/ pts/x控制台等读取,但到目前为止没有任何工作.

linux process tty

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

如何在Android手机中捕捉手指运动方向?

我想捕捉Android触控手机上的手指移动方向.如果用户向上/向下/向左/向右滑动手指,我想捕获此方向.我怎么能找到这个?谢谢.

android

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

PHP $ _POST获取数据数组

我正在尝试使用相同的名称进行多个文本框.
这是我的代码.

HTML

Email 1:<input name="email" type="text"><br>
Email 2:<input name="email" type="text"><br>
Email 3:<input name="email" type="text"><br>


PHP

$email = $_POST['email'];
echo $email;

我希望得到这样的结果:

email1 @ email.com,email2 @ email.com,email3 @email.com

我该怎么做?那可能吗?

php

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

是否可以在Ruby中自动初始化多维哈希数组,就像在PHP中一样?

我习惯于在PHP中使用多维数组,在那里我可以通过分配和初始化哈希

unset($a); // just to show that there is no variable $a
$a['settings']['system']['memory'] = '1 Gb';
$a['settings']['system']['disk space'] = '100 Gb';
Run Code Online (Sandbox Code Playgroud)

有没有办法在Ruby中做类似的事情?或者我需要先初始化所有维度,然后分配值.是否可以定义一个高级Hash,它可以满足我的需求?你会怎么做?


更新

除了道格拉斯提出的解决方案(见下文)之外,我还找到了一个主题,其中BrianSchröäer提出了该Hash课程的扩展:

class AutoHash < Hash
  def initialize(*args)
    super()
    @update, @update_index = args[0][:update], args[0][:update_key] unless args.empty?
  end

  def [](k)
    if self.has_key?k
      super(k)
    else
      AutoHash.new(:update => self, :update_key => k)
    end
  end

  def []=(k, v)
    @update[@update_index] = self if @update and @update_index
    super
  end
end
Run Code Online (Sandbox Code Playgroud)

当仅仅请求项目值时,例如,当不期望地创建丢失的散列项时,它允许解决该问题a['key'].


一些额外的参考

  1. ruby hash autovivification(facets)
  2. http://trevoke.net/blog/2009/11/06/auto-vivifying-hashes-in-ruby/
  3. http://www.eecs.harvard.edu/~cduan/technical/ruby/ycombinator.shtml

php ruby hash initialization multidimensional-array

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

为什么我必须为SQL查询转换返回参数值?

我有一个方法,可以在DB(SQL Server)中添加或更新记录,并将RecordID作为(Int32)输出参数返回,成功/失败结果返回为(Int32)返回值.

鉴于我正在指定这些参数的类型,为什么我必须在返回它们时将它们强制转换?

我希望使用以下内容:

enquiryID = cmd.Parameters["@EnquiryID"].Value;
Run Code Online (Sandbox Code Playgroud)

...但我不得不跳过几个额外的篮球:

enquiryID = Int32.Parse(cmd.Parameters["@EnquiryID"].Value.ToString());
Run Code Online (Sandbox Code Playgroud)

这不是世界末日,但它似乎只是一个漫长的解决方案.为什么Parameters.Value返回SqlParameters.Value对象而不是Int32?

更新:

好吧,我确信 - 直接铸造FTW: (int)cmd.Parameters["@EnquiryID"].Value

c# sql-server parameters casting return-value

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

我应该学习Fortran还是C++来扩展R?

我使用相当大的数据集(它们仍然适合内存)使用机器学习,我在R中编写了一些计算,我觉得它太慢了.因此,我想用我将从R调用的编译代码替换程序的"关键部分".我手头的一个示例问题是实现前向 - 后向算法.

我的问题是我是否应该学习Fortran或C++来做到这一点?我只需要使用数字向量或矩阵.我主要感兴趣的是哪种语言更容易学习和R界面,我真的不关心哪一个在我的简历上看起来更好.

我已经阅读了R扩展手册,并使用内联包使用一些简单的Fortran和C++代码.我目前的印象是Fortran95会更容易学习,虽然Rcpp包看起来也很有趣.我目前知道R,Python和Matlab.

c++ fortran r

42
推荐指数
5
解决办法
7290
查看次数

如何按字母排序字符串数组?

我有很多字符串的数组.如何按字母顺序对字符串进行排序?

c# arrays sorting

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