小编par*_*y72的帖子

如何在C++中隐藏我的AWS S3访问密钥和密钥?

我在我的C++应用程序中使用AWS S3来上传和下载文件.我在我的代码中包含了访问密钥和密码,但我担心有人可以从二进制文件中读取它们.是否有任何标准技术来混淆它们?

更新:我没有在PC上运行这个应用程序,它实际上是在嵌入式设备上,所以我不担心用户从文件或RAM读取密钥和秘密(访问设备要困难得多).我担心的是有人在我们的更新文件中行走,并从二进制文件中提取密钥和密钥.

c++ amazon-s3

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

如何将UWP目标添加到现有Xamarin Forms项目?

我有一个现有的Xamarin Forms应用程序,该应用程序设置为针对Android和iOS构建。我想添加一个UWP目标,以便了解该应用程序在Windows上的性能。我认为我可以这样做,而不必为Windows创建新的UI?

我正在Windows 10上使用Visual Studio 2015。

xamarin.forms visual-studio-2015 xamarin.uwp

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

在VS2017代码分析中禁止外部标题的警告

我想在Visual Studio 2017中使用代码分析,但我正在使用Qt,它从标题中给了我很多警告.我试过关掉警告:

#pragma warning(push, 0)
#include <QtGlobal>
#pragma warning(pop)
Run Code Online (Sandbox Code Playgroud)

但它没有帮助.我也试过用这个:

#include <codeanalysis\warnings.h>
#pragma warning(push, 0)
#pragma warning(disable : ALL_CODE_ANALYSIS_WARNINGS)
#include <QtGlobal>
#pragma warning(pop)
Run Code Online (Sandbox Code Playgroud)

但没有帮助.如何禁用Qt外部标头的代码分析?

c++ qt static-analysis visual-studio-2017

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

测试默认构造的 QFileInfo

我想使用 type 的可选参数QFileInfo。测试调用者是否提供了值或是否使用了默认值的规范方法是什么?

// declaration
void foo(QFileInfo fi = QFileInfo());

// definition
void foo(QFileInfo fi)
{
    if ( /* what to test for: "is default" */ ) {

    }
}
Run Code Online (Sandbox Code Playgroud)

通常默认构造的 Qt 对象具有类似isValid()或 的内容isEmpty()。然而,在QFileInfo.

一种选择是fi.filePath().isEmpty()。有没有更好/更简单的东西?

c++ qt

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

从Subversion迁移到Accurev

我刚刚开始了他们使用Accurev的新工作.我多年来一直在使用Subversion,所以我一直试图找到"Subversion to Accurev"指南,但是在线的唯一文章是两种工具之间的比较(通常由Accurev发布).任何人都可以推荐一个好的手册/文章/博客文章/任何东西?

谢谢你的帮助.

svn accurev

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

从 g_variant_new () 获取结果

我正在学习如何使用这个 g_variant_new() ,这真的让我很困惑。我已阅读https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-new但我无法轻松理解它。

我有一个代码:

#define MM_DBUS_SERVICE "org.freedesktop.ModemManager1"
#define MM_DBUS_PATH "/org/freedesktop/ModemManager1/Modem/0"
#define MM_DBUS_GET_PROPERTIES  "org.freedesktop.DBus.Properties"
....

int i;
    GError *error = NULL;
    GVariant *ret;
    char **paths;
    ret = g_dbus_proxy_call_sync (proxy,
                          "org.freedesktop.DBus.Properties.Get",
                          g_variant_new ("(ss)",
                                      "org.freedesktop.ModemManager1.Modem",
                                      "SignalQuality"),
                          G_DBUS_CALL_FLAGS_NONE, -1,
                          NULL, &error);

    if (!ret) {
            g_dbus_error_strip_remote_error (error);
            g_print ("failed: %s\n", error->message);
            g_error_free (error);
            return;
    }

    g_variant_get (ret, "(v)", &paths);
    g_variant_unref (ret);

    for (i = 0; paths[i]; i++) {
            g_print ("Printing \n");
            g_print ("%s\n", paths[i]);
    }
    g_strfreev (paths);
Run Code Online (Sandbox Code Playgroud)

它编译得很好,但是当它运行时我得到了 seg_fault。测试打印

打印分段错误

我期望这次通话的结果是:

dbus-send --system …
Run Code Online (Sandbox Code Playgroud)

c gdbus

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

如何在 Visual Studio 2017 中为 CMake 指定 Boost 位置

我正在尝试在 Visual Studio 2017 中使用 CMake,但没有找到 Boost。我认为这是正常的,但以前我会使用 CMake GUI 来指定 BOOST_ROOT。在不编辑 CMake 文件本身(存储在源代码管理中,因此不应编辑)的情况下,我可以在哪里指定 Visual Studio 2017 中的位置?

boost cmake visual-studio-2017

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

将变量模板限制为类型列表

我正在尝试通过添加智能指针来现代化一些GStreamer代码。例如:

GstElement *pipeline = gst_pipeline_new("test-pipeline");
gst_object_unref(pipeline);
Run Code Online (Sandbox Code Playgroud)

可以重写:

struct GstElementDeleter {
    void operator()(GstElement* p) { gst_object_unref(p); }
};

std::unique_ptr<GstElement, GstElementDeleter> pipeline = gst_pipeline_new("test-pipeline");
Run Code Online (Sandbox Code Playgroud)

gst_object_unref()可以用于任何内容gpointer,因此可以重写:

template<typename T>
struct GPointerDeleter {
    void operator()(T* p) { gst_object_unref(p); }
};

std::unique_ptr<GstElement, GPointerDeleter<GstElement>> pipeline = gst_pipeline_new("test-pipeline");
Run Code Online (Sandbox Code Playgroud)

但我想做的是将其限制为仅处理可以使用gst_object_unref. 有没有一种方法可以声明模板仅适用于类型列表 - GstElementGstBus等?

c++ templates gstreamer unique-ptr

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

如何在 XCode for iOS 中为不同的目标提供不同的代码?

我有一个定义了多个不同目标的应用程序。我知道我可以使用预处理器指令为不同的目标提供不同的代码部分,但是命名约定如何工作?例如,如果我有两个名为“Smith”和“Smith Plus”的目标,它们如何翻译?

#if (Smith)
#elif (Smith Plus)
#endif
Run Code Online (Sandbox Code Playgroud)

xcode ios

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

如何在 Linux 上使用 Mono.Unix?

我有一个最初用 Windows 编写的 C# 应用程序,现在我在 MonoDevelop 上的 Linux 中运行。它工作正常,但现在我需要识别符号链接。我找到了这个答案,但是当我添加:

using Mono.Unix;
Run Code Online (Sandbox Code Playgroud)

我收到错误消息“命名空间 'Mono' 中不存在类型或命名空间名称 'Unix'。您是否缺少程序集引用 (CS0234)?”

c# linux mono monodevelop

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