小编Val*_*itz的帖子

解决隐含的想法包含在C,C++中

我刚想出了一个解决问题的想法并想分享它.对不起,如果太平庸.

因此,我正在审查的一个大型C++项目包含许多依赖于其他包含但未包含所需包含的符号的包含.构建过程中的任何轻微更改都会导致"缺少符号"失败.

因此,为了立即检查所有自包含的包含,我搜索所有*.h,动态创建一个cpp文件,该文件只包含带有此.h文件的#include -statement并尝试编译它.最后,我获得了一个"好"和"坏"包含文件的列表.酷不是它:-)还是有一个更简单的解决方案吗?

c c++

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

使用OpenCV解卷积?

有没有办法用OpenCV进行反卷积?

我对这里所展示的改进印象深刻

来自https://web.archive.org/web/20160402174700/http://www.olympusmicro.com/primer/digitalimaging/deconvolution/images/deconalgorithmsfigure1.jpg

并希望将此功能添加到我的软件中.

编辑(赏金的附加信息.)

我还没弄清楚如何实现反卷积.这段代码可以帮助我锐化图像,但我认为解卷积可以做得更好.

void ImageProcessing::sharpen(QImage & img)
{
    IplImage* cvimg = createGreyFromQImage( img );
    if ( !cvimg ) return;

    IplImage* gsimg = cvCloneImage(cvimg );
    IplImage* dimg = cvCreateImage( cvGetSize(cvimg), IPL_DEPTH_8U, 1 );
    IplImage* outgreen = cvCreateImage( cvGetSize(cvimg), IPL_DEPTH_8U, 3 );
    IplImage* zeroChan = cvCreateImage( cvGetSize(cvimg), IPL_DEPTH_8U, 1 );
    cvZero(zeroChan);

    cv::Mat smat( gsimg, false );
    cv::Mat dmat( dimg, false );

    cv::GaussianBlur(smat, dmat, cv::Size(0, 0), 3);
    cv::addWeighted(smat, 1.5, dmat, -0.5 ,0, dmat);
    cvMerge( zeroChan, dimg, zeroChan, NULL, outgreen);

    img …
Run Code Online (Sandbox Code Playgroud)

c++ opencv image-processing

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

Node 的 Postgres 模块 pg 返回错误的日期

我已将 Postgres 中的日期列声明为日期。

当我使用节点的 pg 模块写入值时,Postgres 工具 pgAdmin 会正确显示它。

当我使用 pg 读回值时,日期时间字符串不是简单的日期,而是错误的日期。

例如:

Date inserted:              1975-05-11
Date displayed by pgAdmin:  1975-05-11
Date returned by node's pg: 1975-05-10T23:00:00.000Z
Run Code Online (Sandbox Code Playgroud)

我可以阻止节点的 pg 将时区应用于仅日期数据吗?它适用于出生日期,而 ihmo 时区在此处无关紧要。

node.js node.js-pg

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

使用“ Enterprise Architect”进行逆向工程C ++代码

这又是一种“如何正确执行”的问题。对不起,如果有人生气。

我必须了解大约150个C / C ++混合物的TLOC。我已将代码导入UML-Tool“ Enterprise Architect”中,并得到了一个凌乱的图表。由于这种C-ish构造,许多结构和枚举使用匿名名称:typedef struct/enum {...} MyType;

在第二轮中,我将其转换为C ++形式:struct/enum MyType{...};但是得到了一堆不相关的结构。不幸的是,Enterprise Architect不能解析typedef。例如,没有认识到A,B和C之间的关系:

struct A;
struct B;
typedef A *PtrA;
typedef List<B> BList;
struct C{ PtrA pA; BList lB; };
Run Code Online (Sandbox Code Playgroud)

由于使用了整个命名约定,因此我能够将所有typedef替换为原始类型,如下所示:

struct C{ A pA; B lB; };
Run Code Online (Sandbox Code Playgroud)

现在,在“ Enterprise Architect”中导入源代码给出了具有所有关系的漂亮图表。当然,代码不会编译,并且也不相同。所有代码更改都需要进行恼人的转换,以使EA可以再次理解此“伪”代码。因此我的问题是:

  1. 有没有可能教EA识别原始类型?
  2. 其他UML工具是否更可靠地识别类型(并在它们之间建立关系)?

非常感谢您的任何建议!瓦伦丁·海尼兹

c++ uml reverse-engineering

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

将MATLAB中的指针参数传递给C-DLL函数foo(char**)

我正在编写一个从MATLAB调用的C-DLL.是否可以使用const char **参数调用函数?例如

void myGetVersion( const char ** );
Run Code Online (Sandbox Code Playgroud)

C代码是:

const char *version=0;
myGetVersion( &version );
Run Code Online (Sandbox Code Playgroud)

什么是相应的MATLAB-Code(如果可能的话)?

非常感谢你!

PS:我认为这是帮助页面,但我找不到我的情况:-(

c matlab pointers shared-libraries loadlibrary

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

bool [,] - 这个语法在c#中意味着什么?

我在遗留代码中找到以下行:

protected bool[,] PixelsChecked;
Run Code Online (Sandbox Code Playgroud)

[,]这里的意思是什么?

c#

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

是否可以在 Windows 上防止其他应用程序挂接到系统 DLL 中

我正在拼命寻找我的基于 Qt 的应用程序崩溃的原因。

经过一些观察,我发现,即使没有选择任何文件,仅打开一个 QFileDialog(标准的 Windows 文件对话框)也会导致应用程序在几分钟后崩溃。它不会发生在所有机器上。

我已经在dependency walker中打开了我的应用程序,并且分析显示,打开文件对话框会加载大量的DLL,我的应用程序中不需要这些DLL - 所有挂钩在Windows shell中的工具。其中包括 - TortoiseSVN,它甚至使依赖冻结。

是否可以在应用程序上下文中阻止加载其他 DLL(如编解码器或 shell-hooks)?

是否至少可以在不加载所有挂钩在 Windows 中的工具的情况下创建 QFileDialog ?

在此处输入图片说明

c++ windows dll qt svn-hooks

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

"滥用"循环以减少if-nesting

有时必须执行一系列if/else检查.在过去的日子里,goto是为此而准备的沙漠仪器.

由于goto在许多代码风格指南中是禁止的,我有时会使用循环作为替代,例如:

do
{
  if (a)
  {
   doA();
   break;
  }
  //...
  if (z)
  {
   doZ();
   break;
  }
}while(false);

//all break jump here
Run Code Online (Sandbox Code Playgroud)

这是一个好方法吗?是否有一个好的C++模式(例如使用模板,继承等)来实现它而不需要太多开销?

c++

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

std :: variant可以定义多少种类型?

我已经知道在c ++ 17中有一个std :: variant类型.看起来变体容器不支持预定义的数据类型,但是对于每种变体类型,用户可以定义自己的数据类型集.

std::variant<int, float> v;
Run Code Online (Sandbox Code Playgroud)

我想知道,类型列表可以多长时间?库是否具有用于Aleksandrescu方式的最大参数数量的预定义模板,或者是编译器支持的变体,并且类型的数量不受限制?

c++ variant c++17

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

使用python eve添加未经验证的字典以及图像

我想在mongoDB中导入图像以及任何字典.字典应该提供图像标签,我定义模式时我不知道哪些类型,数字和名称.我试图在前夕添加字典但没有成功:

curl -F"attr={\"a\":1}"  -F "img_id=2asdasdasd" -F "img_data=@c:\path\
1.png;type=image/png" http://127.0.0.1:5000/images
{"_status": "ERR", "_issues": {"attr": "must be of dict type"}, "_error": {"message": "Insertion failure: 1 document(s)
contain(s) error(s)", "code": 422}}
Run Code Online (Sandbox Code Playgroud)

我的架构定义如下:

'schema': {
    #Fixed attributes
        'original_name': {
            'type': 'string',
            'minlength': 4,
            'maxlength': 1000,
        },
        'img_id': {
            'type': 'string',
            'minlength': 4,
            'maxlength': 150,
            'required': True,

            'unique': True,
        },
        'img_data': {
            'type': 'media'
        },
    #Additional attributes
        'attr': {
            'type': 'dict'

        }
    }
Run Code Online (Sandbox Code Playgroud)

有可能吗?是否应该修复dicts的架构?

编辑 我想先添加图像和后面的字典,但在PATCH请求中出错:

C:\Windows\SysWOW64>curl -X PATCH -i  -H "Content-Type: application/json" -d "{\ …
Run Code Online (Sandbox Code Playgroud)

eve

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