问题列表 - 第45778页

我可以在构建C++可执行文件(gcc)时获得所有链接库的报告吗?(包括静态链接)

我有一个我继承的C++应用程序,它包括:

  • 我的主要应用
  • 几个特定于应用程序的库(libapp1,libapp2等...)
  • 几个"第三方"库(大多数"第三方只是公司中的其他团队")从主应用程序,特定于应用程序的libappX库以及其他第三方库(例如libext1,libext2等)链接. .

换句话说,我的代码如下所示:

// main.C
#include <app1/a1l1.H>
#include <app2/a2l1.H>
#include <ext1/e1l1.H>

// app1/a1l1.H
#include <app1/a1l2.H>
#include <ext2/e2l1.H>

// app2/a2l1.H
#include <ext2/e2l2.H>

// ext1/e1l1.H
#include <ext3/e3l1.H>

// ext3/e3l1.H
#include <ext4/e4l1.H>
Run Code Online (Sandbox Code Playgroud)

问题:

1)如何判断哪些库已链接到最终可执行文件?这必须包括静态链接的

换句话说,我想要一个"app1,app2,ext1,ext2,ext3,ext4"的答案

理想情况下,答案可以从可执行文件本身获得(我已经构建了它的调试版本以防止它变得更加可能).如果这是不可能的,我想知道是否有一个简单的代码分析工具(即gcc本身内部的某些东西)来提供该分析.

请注意,已经构建了外部库的目标文件,因此查看构建日志以查看链接的内容,我担心"ext4"不会显示在日志中,因为我们不会构建"ext3" "已经预建的图书馆.

注意:运行"nmake"并将DEPS设置为yes以重建所有不是一个选项.但我可以访问外部库的完整源代码.

2)一个稍微单独且不太重要的问题,我如何告诉我正在构建的整个源代码树中使用的所有包含文件的列表.再次,理想情况下frm已经构建的可执行文件,我有一个调试版本.

=================

更新:为了澄清,我们的库是静态链接的,因此ldd(List Synamic Dependencies)不起作用.

此外,答案可以是Solaris或Linux - 无关紧要.

我试过使用nm但没有列出库

c++ gcc build include

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

代码复制检测 - Delphi

有没有人知道在SolidSDD等delphi程序中找到重复代码的好工具?

delphi refactoring

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

是否有可能在露天中进行Lucene查询,根据父/子属性查找节点

是否可以在alfresco中根据其父/子属性查找节点?例如,我想找到所有具有属性"foo"设置为"1"的节点,并通过子关联将节点与"baz"设置为"2"的节点相关联(可能以某种方式指定其名称)儿童协会)

就像是

@crl\:numeroAtto:"6555" AND @crl\:firmatario:"Marco rossi"
Run Code Online (Sandbox Code Playgroud)

其中"numeroAtto"是父节点的属性,"firmatario"是子节点的属性.关联类型是"firmatari"(它不在查询中,因为我不知道如何使用它)

为了更清楚我正试图告诉lucene:"找到所有属性numeroAtto设置为6555并且有子节点(与子节点的关联类型:firmatari)的节点,其中属性"firmatario"设置为Marco rossi.

Thanx提前

lucene alfresco

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

当我从'int'类型的sqlite列中选择时,我可以转换为.net int但是当我从'integer'列中选择时我不能

我正在使用System.Data.SQLite,从一个sqlite数据库表中选择一个列的类型为'integer',当我做这样的事情时:

int x = (int)reader["myColumn"];
Run Code Online (Sandbox Code Playgroud)

它失败.问题不在于该值为空; 该列不可为空.如果我将列的数据类型更改为"int",那么它可以正常工作.列中的值为"2","3","4"等; 没什么大不了的.

任何人都知道这是否是预期的行为?

c# system.data.sqlite

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

在Mercurial中回滚多次提交(在推送到公共之前)

我知道回滚可以从本地存储库中的最新变更集中删除提交.但是,是否可以删除自上次推送以来的所有最新提交,而无需重新克隆共享存储库?

mercurial commit repository rollback

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

无法从程序集“System.Web”加载类型“System.Web.HttpContext”

System.TypeLoadException:无法从程序集“System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”加载类型“System.Web.HttpContext”。

using System;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Xml.Linq;

public class Example : 
{
XDocument doc = XDocument.Load(System.Web.HttpContext.Current.Server.MapPath("~/example.xml"));
}
Run Code Online (Sandbox Code Playgroud)

.net c#

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

为什么我不能从扩展方法调用PropertyChanged事件?

我试图编写一个类来避免像"RaisePropertyChanged"这样的方法.我知道我可以从具有该实现的类继承,但在某些情况下我不能.我尝试使用扩展方法,但Visual Studio抱怨.

public static class Extension
{
    public static void RaisePropertyChanged(this INotifyPropertyChanged predicate, string propertyName)
    {
        if (predicate.PropertyChanged != null)
        {
            predicate.PropertyChanged(propertyName, new PropertyChangedEventArgs(propertyName));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它说:

"事件' System.ComponentModel.INotifyPropertyChanged.PropertyChanged'只能出现在+ =或 - =的左侧 "

c# wpf extension-methods propertychanged inotifypropertychanged

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

如何将今天的日期返回给Oracle中的变量

我想做这个:

DECLARE @today as smalldatetime
SELECT @today = GetDate()
Run Code Online (Sandbox Code Playgroud)

但我需要一个oracle翻译

sql oracle sql-server-2008

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

C++:迭代STL容器的正确方法

在我的游戏引擎项目中,我广泛使用STL,主要是std::stringstd::vector类.

在许多情况下,我必须遍历它们.现在,我这样做的方式是:

for( unsigned int i = 0; i < theContainer.size(); i ++ )
{

}
Run Code Online (Sandbox Code Playgroud)
  • 我是以正确的方式做到的吗?
  • 如果不是,为什么,我应该做什么呢?

  • 使用此实现,size()是否真的在每个循环周期中执行?性能损失是否可以忽略不计?

c++ iterator stl

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

将cin重定向到字符串

我希望cin从字符串中读取输入.

有没有办法让它这样做?

像这样的东西:

const char * s = "123 ab";
cin.readFrom(s);//<---- I want something like this

int i;
cin>>i;

cout<<i; //123
Run Code Online (Sandbox Code Playgroud)

c++ iostream

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