小编bob*_*bob的帖子

如何在gcc中将静态库链接到动态库中

在gcc(g ++)下,我编译了一个静态.a(调用它some_static_lib.a)库.我想把这个.a文件链接(这是正确的短语?)到libsomeDyn.so我正在构建的另一个动态库(称之为).虽然.so编译,我看.a不到.so使用nm命令的内容:

/ usr/bin/g ++ -fPIC -g -O2 -Wall -Werror -pipe -march = pentium3 -mtune = prescott -MD -D_FILE_OFFSET_BITS = 64 -DLINUX -D_GNU_SOURCE -D_THREAD_SAFE -I ../../../. ./../../../../ -I ../../../../../../../..// libraries -Wl,-rpath,/ usr/lib -o libsomeDyn.so some.o another.o some_static_lib.a -shared -Wl -x -Wl,-soname,libsomeDyn.so

我看不到功能some_static_lib.a不足libsomeDyn.so.我究竟做错了什么?

gcc

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

如何删除Lua表中的所有元素?

如何删除Lua表中的所有元素?我不想这样做:

t = {}
table.insert(t, 1)
t = {}  -- this assigns a new pointer to t
Run Code Online (Sandbox Code Playgroud)

我想保留与t相同的指针,但删除其中的所有元素t.

我试过了:

t = {}
table.insert(t, 1)
for i,v in ipairs(t) do table.remove(t, i) end
Run Code Online (Sandbox Code Playgroud)

以上是否有效?还是需要其他东西?

lua lua-table

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

将部分java字节数组附加到StringBuilder

如何将一部分字节数组附加到Java下的StringBuilder对象?我有一个函数段,从InputStream读取到一个字节数组.然后我想将我读到的任何内容追加到StringBuilder对象中:

byte[] buffer = new byte[4096];
InputStream is;
//
//some setup code
//
while (is.available() > 0)
{
   int len = is.read(buffer);
   //I want to append buffer[0] to buffer[len] into StringBuilder at this point
 }
Run Code Online (Sandbox Code Playgroud)

java

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

grep多个文件时,如何在第一次匹配后停止?

我在文本文件中有一个模式列表,我使用bzgrep来匹配多个文件:

for pattern in $(cat ~/patterns.txt); do echo $pattern; bzgrep -i $pattern *.bz2; done
Run Code Online (Sandbox Code Playgroud)

如何使bzgrep(grep)在当前模式的第一次匹配后停止(我需要它完全停止,而不是停止当前文件被grep'ed)并继续下一个模式.我已经读过"-m 1"参数,但我认为它只会在当前文件上停止.有任何想法吗?

谢谢

grep

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

junit测试用例生成器

是否有一个很好的工具可以根据一些原始模板自动生成jUnit测试用例?这样,测试用例可以由没有大量Java或jUnit背景的工程师编写.作为背景信息,这是用于黑盒测试.如果有一些其他替代方法来运行回归测试而不是使用jUnit,我也很感激听到它.

谢谢

java testing junit unit-testing

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

在iphone设备上自动构建,部署和测试

有没有办法在xcodebuild的命令行上构建iphone应用程序,然后自动将应用程序部署到USB连接的iphone设备并在设备上运行一些单元测试?

现在,我可以使用"Build and Run"在xCode下执行此操作,但我正在寻找在xCode GUI环境之外执行此操作的解决方案.

谢谢

iphone xcode command-line

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

如何在C++中清理已删除的对象

是否可以将C++中已删除对象的内存清零?我想这样做是为了在单元测试中重现一个coredump:

//Some member variable of object-b is passed-by-pointer to object-a
//When object-b is deleted, that member variable is also deleted
//In my unit test code, I want to reproduce this
//even if I explicitly call delete on object-b
//accessBMemberVariable should coredump, but it doesn't
//I'm assuming even though object-b is deleted, it's still intact in memory
A *a = new A();
{
  B *b = new B(a);
  delete b;
}
a->accessBMemberVariable();
Run Code Online (Sandbox Code Playgroud)

c++

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

将新成员函数添加到d指针类中断二进制兼容性?

将新的成员函数添加到d指针类定义中会破坏二进制兼容性吗?

例如,下面的新定义是否会破坏与原始定义相比的二进制兼容性?(附带问题,是否有一个工具可以告诉我,如果新的.so打破二进制兼容性与旧的.so相比?如果没有,我该如何手动检查?)

原版的:

#ifndef __TESTBC_H__
#define __TESTBC_H__
class APrivate;

class A
{
  public:
   int get() { d->update(); return _d->get(); }

private:
   APrivate *_d;

};

class APrivate
{
  public:
   int get() { return _val; }
   void update() { _val = 1; }

  private:
   int _val;
};
#endif
Run Code Online (Sandbox Code Playgroud)

新:

#ifndef __TESTBC_H__
#define __TESTBC_H__
class APrivate;

class A
{
  public:
   int get() { _d->update(); return _d->get(); }

private:
   APrivate *_d;

};

class APrivate
{
  public:
   int get() { return _val; }
   void update() …
Run Code Online (Sandbox Code Playgroud)

c++ api-design binary-compatibility d-pointer

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

提升正则表达式子串匹配

如果模式"regular"是变量st的子字符串,我想返回输出"匹配".这可能吗?

int main()
{
  string st = "some regular expressions are Regxyzr";

  boost::regex ex("[Rr]egular");
  if (boost::regex_match(st, ex)) 
  {
    cout << "match" << endl;
  }
  else 
  {
    cout << "not match" << endl;
  }
}
Run Code Online (Sandbox Code Playgroud)

c++ regex boost

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

在类声明的末尾添加虚函数可以避免二进制不兼容?

有人可以向我解释为什么在类声明的末尾添加一个虚函数可以避免二进制不兼容吗?

如果我有:

class A
{ 
  public:
    virtual ~A();
    virtual void someFuncA() = 0;
    virtual void someFuncB() = 0;
    virtual void other1() = 0;
  private:
    int someVal;
};
Run Code Online (Sandbox Code Playgroud)

然后将此类声明修改为:

class A
{ 
  public:
    virtual ~A();
    virtual void someFuncA() = 0;
    virtual void someFuncB() = 0;
    virtual void someFuncC() = 0;
    virtual void other1() = 0;
  private:
    int someVal;
};
Run Code Online (Sandbox Code Playgroud)

我得到了另一个coredump.所以根据之前的声明编译.但是如果我在类声明的末尾放置someFuncC()(在"int someVal"之后):

class A
{ 
  public:
    virtual ~A();
    virtual void someFuncA() = 0;
    virtual void someFuncB() = 0;
    virtual void other1() = …
Run Code Online (Sandbox Code Playgroud)

c++ gcc binary-compatibility

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

如何从C++函数返回多个错误代码

从C++函数返回成功或一个或多个错误代码的好方法是什么?

我有这个名为save()的成员函数,它保存到每个成员变量中,至少有十个这些成员变量被保存到,对于调用save(),我想找出是否调用失败,如果是这样,关于哪个成员变量(一些是硬故障,一些是软的).

c++

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

为什么python关联映射成员变量在对象之间共享

对于A类,为什么在对象和对象b之间共享aMap成员变量?

>>> class A:
...     aMap = {}

>>> a = A()
>>> a.aMap["hello"] = 1

>>> b = A()
>>> b.aMap["world"] = 2

>>> c = []
>>> c.append(a)
>>> c.append(b)

>>> for i in c:
...     for j in i.aMap.items():
...         print j
('world', 2)  
('hello', 1)  
('world', 2)  
('hello', 1)  
Run Code Online (Sandbox Code Playgroud)

python

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