小编uml*_*ute的帖子

“ __fortify_fail”是做什么的?

一个用户提交了一个错误报告,其中我的应用程序在“ __fortify_fail()”中出现了段错误。

我知道这与使用Debian的“强化”标志构建应用程序有关-D_FORTIFY_SOURCE=2 -fstack-protector

不幸的是,用户的回溯并没有告诉我太多,并且用户没有超级响应(现在)。

为了更好地了解正在发生的事情,我想知道__fortify_fail实际发生了什么。

security debian gcc

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

如何在源代码中查找搜索词

我正在寻找一种方法来搜索项目的C/C++代码中的给定术语,同时忽略注释和字符串中的任何出现.

由于代码库相当大,我正在寻找一种方法来自动识别与我的搜索词匹配的代码行,因为它们需要手动检查.

如果可能的话,我想在我的linux系统上执行搜索.

背景

所讨论的代码库是一个带有大量第三方插件的实时信号处理引擎.插件是用各种语言实现的(大多数是C语言,但也有C++和其他语言;目前我只关心这两种语言),没有强制执行任何标准.

我们的代码库目前使用内置类型float的浮点数,我们想用一个typedef允许我们使用双精度的代码.我们希望float在实际代码中找到所有出现的内容(忽略评论和打印输出中的合法用法).

更进一步的是,在代码有效负载中有一些(虽然很少)合法使用float(因此我们真的在寻找一种方法来识别所有需要手动检查的地方,而不是运行一些自动搜索和替换. )

代码还包含C样式的静态强制转换(float),因此依靠编译器警告来识别类型不匹配通常不是一种选择.

代码库由超过3000个(C和C++)文件组成,累积约750000行代码.

代码是跨平台的(linux,osx,w32是主要目标;但也是freebsd和类似的),并使用各种本机编译器(gcc/g ++,clang/clang ++,VisualStudio,...)进行编译.

至今...

到目前为止,我正在使用丑陋的东西:

 grep "\bfloat\b" | sed -e 's|//.*||' -e 's|"[^"]*"||g' | grep "\bfloat\b"
Run Code Online (Sandbox Code Playgroud)

但我认为必须有一些更好的方法来搜索有效载荷代码.

c c++ grep

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

git diff 与父 1 - 2

我在看 Tortoise 的日志,有这条消息 Commit:ab77ac9ca5264c531586ad9c5f007395d3e7ae9b

  • 合并 repo 的分支“master”:R:/AAL/dotNET/OPDash

还有“与父母 1 的差异”和“与父母 2 的差异”不知道我应该做什么。

我应该在 Tortoise 中运行合并选项吗?

windows git tortoisegit

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

设置要在PowerShell export-csv中使用的日期格式?

我正在尝试将数据库表导出为文本(CSV-ish)以用于以后的BULK INSERT.使用ISO格式yyyy-mm-dd的日期会少得多.我相信,我终于说服SQL Server Express在其导入中期望英国格式(尽管灰色的服务器属性被卡在"英语(美国)"中,无论我做什么).我将用户帐户更改为英国,这与我的PowerShell CSV导出格式相对应.但我宁愿使用ISO格式来解决问题.

目前,已经从a填充表变量SELECT * FROM Table并将其传输到Export-CSV,日期将以生成的文本文件dd/mm/yyyy格式显示.

如何强制PowerShell脚本ISO在所有语句中使用格式日期(即每个命令中没有指定格式),因此Export-CSV会根据需要编写它们?我一直在圈子里看了几个小时看"文化"和事物,但我完全糊涂了!

powershell

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

Debian包依赖,安装特定版本,而不是最新版本

所以我有一个我在私人仓库中制作的Debian软件包,我想安装一个特定的版本.

该软件包有一个共同的lib依赖项,我想安装该软件包的匹配版本.apt-get坚持要安装最新版本的依赖项而不是软件包所依赖的版本.

您可以在此处查看命令的输出:

cmcc@cmcc-VirtualBox:~/Desktop/repo$ sudo apt-get install my_program=57.0.93
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 my_program : Depends: my_program-common (= …
Run Code Online (Sandbox Code Playgroud)

debian dependencies package apt-get

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

libPd和c ++包装器实现

我正在尝试使用libPd,它是PureData的包装器.但是文档很差,我不太熟悉C++你知道我怎么能简单地将一个浮动值发送到Pd补丁吗?

我是否需要安装libPd或者我可以只包含文件?

c++ puredata

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

找到文件然后 Grep 其内容

locate 'filename' | grep 'pattern'找到文件然后greps它们的文件名。我想 grep 文件的内容。

linux grep locate

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

为Nitrogen6x构建Qt 5时出现Libm重定位错误

我正在尝试在由*i.MX6Q`驱动的Nitrogen6x板上构建Qt 5 .

我在板上安装了Debian/wheezy,并使用Ubuntu 12.10机器进行交叉编译.

配置Qt就像一个魅力,但我陷入了制作步骤.这是我运行的配置脚本:

./configure -v -opensource -confirm-license  -reduce-relocations -no-pch -no-xcb -no-opengl -opengl es2  -qt-libpng -qt-zlib -qt-xkbcommon -qt-xcb -qt-pcre -qt-libjpeg -qt-sql-mysql -optimized-qmake\
   -make libs -device imx6 \
   -compile-examples   \
   -device-option CROSS_COMPILE=/home/finn/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabi- \
   -sysroot /media/finn/d72e3b65-b529-4e5c-9d30-872e1b0c9973 \
   -prefix /opt/qt5
Run Code Online (Sandbox Code Playgroud)

这是我在制作过程中大约5分钟收到的错误:

/home/finn/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/../../../../arm-linux-gnueabihf/bin/ld: 
/media/finn/d72e3b65-b529-4e5c-9d30-872e1b0c9973/usr/lib/libm.a(mpa.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/media/finn/d72e3b65-b529-4e5c-9d30-872e1b0c9973/usr/lib/libm.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status …
Run Code Online (Sandbox Code Playgroud)

debian qt arm build libc

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

与Git一起使用大型代码库和多个开发人员进行多次提交

我和我的开发团队开始经常运行几个问题而不涉及git.我们都在同一个分支上工作mysql_trunk.我们经常遇到推动冲突和合并冲突.

我们很乐意使用git,但我们觉得这里缺少一些东西.必须有一种更有效的方法来处理大型代码库(1.5mil代码行),多个开发人员同时为同一个repo做出贡献.这似乎是一个相当直接的问题,但我们可以真正使用一些帮助来找到一个解决方案,以防止我们不断出现推动冲突,合并冲突,分离HEAD冲突.

任何建议和/或阅读材料将不胜感激.

git merge-conflict-resolution

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

CMake:打印目标的属性,包括其依赖项

我目前尝试编写一个 custom_target 来打印目标的属性(例如 COMPILE_DEFINITIONS)。我几乎将这个 custom_target 创建的调用放在我的 Top-Level-CMakeLists.txt 的末尾,以确保所有模块都已被调用。

目标是打印出目标的所有属性,包括通过 target_link_libraries 依赖项给出的属性。

简化示例:

add_library(libA STATIC)
add_library(libB STATIC)

target_compile_definitions(libA 
    PRIVATE
        PRIV_A
    PUBLIC
        PUB_A
    INTERFACE
        INT_A
)

target_compile_definitions(libB 
    PRIVATE
        PRIV_B
    PUBLIC
        PUB_B
    INTERFACE
        INT_B
)

# create dependency from A -> B, 
# this should compile A with all PUBLIC and INTERFACE defintions from B
target_link_libraries(libA libB)

get_target_property(compile_defs libA COMPILE_DEFINITIONS)
get_target_property(compile_defs_intf libA INTERFACE_COMPILE_DEFINITIONS)

message("compile_defs: ${compile_defs}")
message("compile_defs_intf: ${compile_defs_intf}")
Run Code Online (Sandbox Code Playgroud)

这将打印:

compile_defs: PRIV_A; PUB_A
compile_defs_intf: PUB_A; INT_A
 
Run Code Online (Sandbox Code Playgroud)

其实我想得到:

compile_defs: PRIV_A; PUB_A; PUB_B; INT_B
Run Code Online (Sandbox Code Playgroud)

但显然在这个阶段,依赖关系尚未解析/包含在属性中。一种可能的解决方法是迭代目标 A 的所有依赖项并收集依赖项目标的所有 …

cmake

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