小编alt*_*ive的帖子

向Android添加新的网络承载

我想将新的承载添加到Android(rooted/custom build),成为Wifi和GPRS的同行.

我做了一些Android开发,我知道(在Android 2.2中)有WIFI和GPRS的常量.这是否意味着我需要在所有地方添加常量,以及提供网络堆栈?

我要添加的第一个载体是USBNet(用于带USB主机的Androids).

另一个是3G USB加密狗作为第二个GPRS承载.

我已经开始下载源代码了.

android network-protocols wifi android-source 3g

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

使用ediff作为git mergetool

我希望能够使用ediff与"git mergetool".

我找到了一些改变源代码的补丁,我不想这样做.相反,我想在我的.gitconfig中添加ediff支持.

我知道git已经内置了对emerge的支持,但我更喜欢ediff.

我试图将这些行添加到我的.gitconfig:

[mergetool "ediff"]
    cmd = emacs --eval "(ediff-merge-files-with-ancestor \"$LOCAL\" \"$REMOTE\" \"$BASE\" nil \"$MERGED\")"
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用"git mergetool --tool = ediff"运行时,我得到了这个:

eval: 1: Syntax error: "(" unexpected
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

git emacs merge

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

如何在haskell中为数据类型创建Read实例

所以我有一个数据类型

data SomeType a =
    Type a |
    Mix (SomeType a) (SomeType a)
Run Code Online (Sandbox Code Playgroud)

这是SomeType的show实例

instance (Show a) => Show (SomeType a) where
    show (Type a) = show a
    show (Mix a b) = "(" ++ show a ++ " " ++ show b ++ ")"
Run Code Online (Sandbox Code Playgroud)

所以

Mix (Type 5) (Type 4)
Run Code Online (Sandbox Code Playgroud)

会给我的

(5 4)
Run Code Online (Sandbox Code Playgroud)

现在我想拥有

read "(3 4)" :: SomeType Int 
Run Code Online (Sandbox Code Playgroud)

生产

(3 4)
Run Code Online (Sandbox Code Playgroud)

要么

read "(a b)" :: SomeType Char
Run Code Online (Sandbox Code Playgroud)

生产

(a b)
Run Code Online (Sandbox Code Playgroud)

我迷失在如何使用Read类.

haskell typeclass

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

单元测试 - 如何去做?

我想对我的程序(在C中)进行单元测试,因为我知道这样做的好处,因为它显示了问题所在.

我也喜欢黑盒测试,因为它告诉我程序是否有效(至少,测试).

目前,我正在使用Autotest(随Autoconf一起提供)以便不添加依赖项.

在这一点上,我不介意使用更好的框架,但问题是我不想使用不同的框架进行黑盒和单元测试.是否可以从单元测试框架运行黑盒测试?我真正想要的是良好的日志输出,确切地说出了什么问题以及在哪里.

我的另一个选择是使用自动测试进行单元测试.问题是没有框架.我编写了一个小的"测试驱动程序",它接受要测试的函数的名称和传递给函数的参数,并调用该函数.问题是我不确定断言之间使用什么边界并输出函数的返回值(用于记录目的,因为我喜欢Autotest会给我一个差异).由于大多数函数返回列表,因此使用具有预期输出的diff(使用自动测试的expout)准备更快.

c testing unit-testing

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

在autoconf/automake中可以包含GLib头文件

我需要为一个项目包含GLib头文件,该项目是使用基于autoconf的系统构建的,以便于移植.

如何以可移植的方式安全地导入GLib标头?我知道pkg-config,但这不是完全可移植的(因为有些系统没有它,我宁愿只依靠autoconf进行配置).

automake autoconf pkg-config autotools

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

使用if ... else ...或者只是...来确定返回的内容

哪个更好?

function test($val = 'a') {
    if($val == 'a') {
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

要么

function test($val = 'a') {
    if($val == 'a') {
        return true;
    } else {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

实际上,他们做同样的事情.如果$val不是'a',则该函数返回false.只是个人喜好?

php if-statement

7
推荐指数
3
解决办法
1029
查看次数

Autoconf - config.h在哪里?

我正在编写自己的单元测试库(使用autoconf,automake和libtool)以更好地满足我的需求(我不需要超大量的功能,只需要测试运行器和断言).我已经达到了似乎可以使用的程度.

当然,它使用config.h来确定要包含的标头.问题是,我不知道在哪里的config.h应该去,因为它往往会与其他项目的config.h中,以及事实,即它是依赖于架构容易冲突.

我的方法应该用于安装此标头?(所有其他标题都需要它)

automake autoconf autotools libtool

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

找不到模块Test.HUnit

我试图在Haskell中进行一些单元测试,这基本上就是我在代码中所做的:

module Test where
import Test.HUnit
test = TestList [TestLabel "running all the tests!"
$ TestList [
. . . . .
]]  

run = runTestTT tests   
Run Code Online (Sandbox Code Playgroud)

当我尝试使用gchi编译它时,我收到此消息:

 Could not find module ‘Test.HUnit’
Use -v to see a list of the files searched for.
Failed, modules loaded: none
Run Code Online (Sandbox Code Playgroud)

我如何让HUnit工作?

我使用GHCi版本7.8.3

谢谢

编辑:

我尝试通过cabal安装HUnit作为建议的答案,但后来我得到了错误:

Could not find module ‘Test.HUnit’ Perhaps you haven't installed the "dyn" libraries for 
package ‘HUnit-1.2.5.2’? 
Use -v to see a list of the files searched for.
Run Code Online (Sandbox Code Playgroud)

然后我使用了命令: …

haskell hunit

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

将Double转换为Data.Text的最简单方法是什么?

如何将Double转换为Data.Text?

实质上,我有以下代码:

Data.Text.pack $ show 9.0
Run Code Online (Sandbox Code Playgroud)

那段代码有一些相当明显的愚蠢.所以我在文档中挖掘并想出了这个:

toStrict $ toLazyText $ realFloat 9.0
Run Code Online (Sandbox Code Playgroud)

这似乎更好,但似乎应该有一个更直接的方法,但我找不到任何类型Double - > Data.Text.这是最好的方法吗?似乎如果我切换到惰性文本我可以避免这种情况,但我还没有做好准备.

任何智慧的话?

haskell type-conversion

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

Hg/Git存储库损坏多少是一个问题?

环境:14名左右的工程师/物理学家/数学家(阅读:没有人真正有兴趣花时间处理回购维护和类似的事情)

他们将使用它,在软件工程方面的今天,对于比较小的项目,但谁也无法预料,很多非编的东西也将在那里风(数据文件,一些图像,一些PDF和Word文档..没有什么大的东西,但它会随着源文件一起在那里结束).

使用Hg或Git时,此类环境中的存储库损坏程度是多少?

平台:Windows和Mac(主要是Windows)

git version-control mercurial

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

建立TCP套接字连接的问题

我不是软件人,但我真的可以使用一些建议.

我正在编写一个C程序(在下面剪切/粘贴)以建立从我的Mac Pro到基于Windows XP的测试仪器的TCP套接字连接,该测试仪器通过LAN(以太网)坐在它旁边.该程序编译时没有任何警告或错误.但是使用GNU Debugger执行代码,我可以看到它在'exit(2)'退出,即"if(connect(MySocket"行).没有超时,它只是立即退出.

我编译使用:gcc -g -Wall talk2me.c -o talk2me但我没有在输出中得到任何提示,也没有调试到可能是什么问题.

我确定10.0.1.100和端口5025是正确的(使用Matlab代码我可以使用这些参数进行良好的通信).知道我还有什么地方可以调试吗?

在代码本身之外,是否还需要满足任何其他要求(可能是系统级)(比如从某个目录运行代码,或者在unix中设置参数以允许连接等)?我可能是一个显而易见的东西,因为我是一个硬件人,所以请随意假设我做了一些愚蠢的事情.我可以运行'hello world'程序,它有帮助.提前谢谢,ggk

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <netinet/tcp.h>
#include <netinet/in.h>
#include <arpa/inet.h>   //for inet_addr
#include <unistd.h>   // for function 'close'

int main(void)
{
int MySocket;
if((MySocket=socket(PF_INET,SOCK_STREAM,0))==-1) exit(1);

struct in_addr {
  unsigned long s_addr;
};
struct sockaddr_in {
 short int sin_family;    // Address family
 unsigned short int sin_port;  // Port number
 struct in_addr sin_addr;   // Internet address
 unsigned char sin_zero[8];   // Padding
};
struct sockaddr_in MyAddress;

// …
Run Code Online (Sandbox Code Playgroud)

c sockets tcp

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

从std :: string转换为DWORD


我有一个简单的转换问题:

std::string str = "0xC0A80A02"
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为DWORD.
我在网上搜索并找到了一些解决方案,但似乎都没有.
try1:

DWORD m_dwIP = atol(str.c_str());
Run Code Online (Sandbox Code Playgroud)

try2:

std::istringstream ss(str.c_str());
ss >> m_dwIP;
Run Code Online (Sandbox Code Playgroud)

try3:

sscanf (str.c_str(),"%u",str,&m_dwIP);
Run Code Online (Sandbox Code Playgroud)

请注意,字符串将值存储为hexa.

谢谢,
加布里埃尔

c++ string winapi dword type-conversion

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

C++中的访问冲突错误

我一直在尝试解决程序中的访问冲突,以限制卷层次结构.运行时出现访问冲突错误.我使用过SDL和lib3d软件包.

错误:bvh.exe中0x00fa2e80处的未处理异常:0xC0000005:访问冲突读取位置0x00000004.

调用堆栈:> bvh.exe!Triangle::Triangle(const Vertex * vertexA, const Vertex * vertexB, const Vertex * vertexC, unsigned int r, unsigned int g, unsigned int b, bool twosided, bool triNormalProvided, Float3 triNormal)393行+ 0x150字节C++

我用以下方式定义了我的结构:

struct Float3 
{
   float X, Y Z;
   Float3(float x=0, float y=0, float z=0)
        :
    X(x), Y(y), Z(z){} 

   Float3(const Float3& rhs)
        :
    X(rhs.X), Y(rhs.Y), Z(rhs.Z){}

    inline Float3& operator+=(const Float3& rhs)
    {
    X += rhs.X; Y += rhs.Y; Z += rhs.Z; return *this;
    }

    // similar for the other …
Run Code Online (Sandbox Code Playgroud)

c++ visual-studio-2010

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