小编Mat*_*ggs的帖子

Visual Studio 2015 C++创建定义,不用偷看

Visual Studio 2015中的新功能可以根据.h文件中的声明自动生成存根C++定义.除了......它打开了一个我不想要的窥视窗口.生成函数定义存根时,可以阻止它打开窥视窗口吗?

visual-studio-2015

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

从Xcode外部启动应用程序时,Xcode调试断点

底线问题:是否有可能让Xcode等待应用程序启动,然后从Xcode外部启动应用程序,然后让Xcode停在断点处?

- 详细说明如下 -

我想调试(逐行逐行)一个简单的C程序,它需要使用10.8.5上的Xcode 4.6.3将文本传送到stdin.

为了做到这一点,我需要像这个$ cat in.txt |一样启动程序 ./mysimpleprogram> out.txt并让Xcode调试器在断点处停止.

我按照我在本答复/sf/answers/910464341/中找到的说明进行操作,但Xcode不会在断点处停止.

重现问题

  1. 打开Xcode 4.6.3

  2. 在"欢迎使用Xcode"屏幕中选择"创建新的Xcode项目"

  3. 在"为新项目选择模板"屏幕中,选择Mac OS X - >应用程序 - >命令行工具,然后单击下一步

  4. 在"为新项目选择选项:"屏幕产品名称:HelloWorld,类型:C - >下一步,使用自动引用计数= False

  5. 选择项目的位置.

注意:在Xcode首选项 - >位置 - >派生数据中,我选择了"相对"

  1. 转到产品菜单 - >方案 - >编辑方案

  2. 在Scheme Editing窗口的左侧,默认选择"Run HelloWorld Debug".在"方案编辑"窗口的右侧,我将"自动启动"单选按钮更改为"等待HelloWorld启动".Debugger = LLDB,Debug Process As = me

  3. 在代码中设置一个或多个断点.

  4. 选择产品 - >运行(或单击"播放"按钮).现在主要的Xcode窗口显示"等待HelloWorld启动".

  5. 打开一个终端窗口并导航到HelloWorld可执行文件,在我的例子中.../HelloWorld/DerivedData/HelloWorld/Build/Products/Debug/

  6. 使用./HelloWord命令运行程序

该程序运行并打印Hello,World!正如预期的那样,Xcode说"完成了运行HelloWorld:HelloWorld".它并没有停留在任何断点上.

期望的行为,Xcode应该停在断点处,并允许我单步执行代码.

感谢您提供任何帮助或提示.

c xcode xcode4

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

具有多行函数声明参数的Clang格式问题

Clang Format一直这样做:

bool importSomethingIn( const boost::property_tree::ptree& inBoostTree,
                        int inSomeIndex,
                        std::shared_ptr<Something>
                            inSomething,
                        int x,
                        int y );
Run Code Online (Sandbox Code Playgroud)

当我希望它这样做:

bool importSomethingIn( const boost::property_tree::ptree& inBoostTree,
                        int inSomeIndex,
                        std::shared_ptr<Something> inSomething,
                        int x,
                        int y );
Run Code Online (Sandbox Code Playgroud)

请注意,它在符号前添加换行符和缩进inSomething.似乎永远是模板化类型导致此行为.

我怎么能阻止它这样做?

这是我目前的.clang格式:

BasedOnStyle: LLVM
Language: Cpp
AccessModifierOffset: -4
AlignEscapedNewlinesLeft: false
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortFunctionsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: true
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: false
BinPackParameters: false
BreakBeforeBinaryOperators: false
BreakBeforeBraces: Allman
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: false
ColumnLimit: 120
CommentPragmas: ''
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4 …
Run Code Online (Sandbox Code Playgroud)

c++ clang-format

9
推荐指数
2
解决办法
913
查看次数

在C++中从用户定义类型到基本类型的隐式转换

我能够找到大量关于从int到用户定义类型的隐式转换的信息.即如果构造函数将int作为其参数并且不以"explicit"开头,则可能发生隐式转换.

如果我希望我的类隐式转换 int怎么办?

例如,需要在SimpleClass内部或外部添加什么函数,以便main函数将编译并输出"1"到控制台?(看评论)

#include <iostream>

class SimpleClass
{
private:
    int m_int;
public:
    SimpleClass(int value)
    : m_int(value) {}
};

int main(int argc, const char * argv[])
{
    SimpleClass simpleclass(1);
    int i = simpleclass; // does not complile
    std::cout << i << std::endl; // should output "1" to the console
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ implicit-cast

8
推荐指数
2
解决办法
3440
查看次数

如何在Codelite中启用C++ 11功能

下面的代码在Xcode 5和Visual Studio 2013中编译和运行.我有兴趣尝试Codelite,但Codelite不会编译以下程序(因为我在我的项目中使用作用域枚举,所以是一个问题).据我所知,Codelite使用与Xcode相同的编译器.

代码对每个C++ 11有效吗?为什么Codelite无法编译它?

#include <iostream>

namespace abc
{
    namespace xyz
    {
        enum class SampleEnum
        {
            SomeValue = 0,
            SomeOtherValue = 1
        };
    }
}

int main(int argc, char **argv)
{
    abc::xyz::SampleEnum e = abc::xyz::SampleEnum::SomeValue;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是Codelite的构建输出.如果它是乱码,它指向变量实例化中的单词"SampleEnum"并说"期望一个类或命名空间".

/bin/sh -c 'make -j8 -e -f  Makefile'
----------Building project:[ ClangTest - Debug ]----------
codelite-cc /usr/bin/clang++   -c  "/Users/xxx/Desktop/Test/ClangTest/main.cpp" -g -O0 -Wall  -o ./Debug/main.cpp.o -I. -I.
/Users/xxx/Desktop/Test/ClangTest/main.cpp:7:8: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
                enum class SampleEnum
                     ^
/Users/xxx/Desktop/Test/ClangTest/main.cpp:17:40: error: …
Run Code Online (Sandbox Code Playgroud)

c++ c++11 enum-class codelite

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

Postgres提交的过程中可以存在异常块吗?

我在理解Postgres中的交易时遇到了困难。我的程序可能会遇到异常。在过程的某些部分中,我可能想要到目前为止进行工作,这样在发生异常时不会回滚它。

我想在过程的末尾有一个异常处理块,在该块中捕获异常并将异常信息插入到日志表中。

我将问题简化为下面的简单过程,该过程在PostgreSQL 11.2上失败,

2D000 cannot commit while a subtransaction is active
PL/pgSQL function x_transaction_try() line 6 at COMMIT
Run Code Online (Sandbox Code Playgroud)
2D000 cannot commit while a subtransaction is active
PL/pgSQL function x_transaction_try() line 6 at COMMIT
Run Code Online (Sandbox Code Playgroud)

为什么此存储过程不起作用?为什么为什么我们从来没有看到过输出,raise notice 'B'而是进入了异常块?是否可以使用Postgres 11存储过程来完成上述操作?

编辑:这是一个完整的代码示例。将以上完整的代码示例(包括create procedurecall语句)粘贴到sql文件中,然后在Postgres 11.2数据库中运行以进行复制。所需的输出将是该函数A随后打印的结果B,但A随后会C与异常信息一起打印。

还要注意,如果注释掉所有异常处理块,以使该函数根本不捕获异常,则该函数将输出“ A”然后输出“ B”而不会发生异常。这就是为什么我将问题命名为“具​​有异常块的过程中Postgres提交可以存在吗?”的原因。

postgresql stored-procedures plpgsql postgresql-11

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

将TFS 2013 xaml构建定义转换为TFS 2015 vNext构建

我构建了基于XAML的定义,并希望将这些定义转换为vNext构建(我们最近已升级到TFS 2015).可以这样做吗?

将xaml构建定义转换为vNext构建定义的最有效方法是什么?

tfs tfsbuild tfs-2015

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

在Xcode 8.1中使用C++ 17'any'

我在Xcode版本8.1中使用C++.我需要使用它的功能,boost::any但强烈反对将Boost的任何部分拉入我们的项目(请不要讨论它).

我看到std::any的是"合并到C++ 17" 在这里.

我想在我的Xcode 8.1项目中使用它.我已经尝试-std=c++1z在项目中使用自定义标志,但我似乎找不到它的标题.

我如何使用std::anystd::experimental::any在我的Xcode项目中?

我可以从实现中下载相应的头文件并将它们放入我的项目的源代码中吗?或者,甚至更好,实际上现在可以在我的Xcode/Clang/C++版本中使用?

c++ c++17 stdany

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

Github 组织“远程:未找到存储库。” 通过 Https 克隆

一段时间以来,我一直以个人身份使用 Github。现在我需要创建一个组织并在该组织中启动一个回购。

因此,我以我自己的身份登录 Github,创建了新组织。然后我创建了一个回购。查看 repo 我可以看到我是 repo 的贡献者。回购是并且需要是私有的。

当我尝试克隆时:

$ git clone https://github.com/my-organization/my-repo.git my-repo-folder
Cloning into 'my-repo-folder'...
remote: Repository not found.
fatal: repository 'https://github.com/my-organization/my-repo.git/' not found
Run Code Online (Sandbox Code Playgroud)

本地 git 会记住我的凭据,例如,如果我的个人 Github 存储库中有一个私有存储库,则 git clone https://github.com/Webern/my-personal-private-repo.git无需请求我重新输入我的 Github 用户名和密码即可工作。

组织怎么了?如何克隆我新成立的组织私有仓库?

git github

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

为什么 Rust 允许对可变变量进行不可变引用?

我正在编写《Rust Book》(第 4 章),令我惊讶的是,这样的代码可以编译

fn main() {
    let mut s = String::from("hello");

    let r1 = &s;
    let r2 = &s;
    println!("{}, {}", r1, r2);

    // this line silences the warning: 'variable does not need to be mutable'
    s.push_str(" world");
}
Run Code Online (Sandbox Code Playgroud)

为什么 Rust 允许对可变变量进行不可变引用?这似乎削弱了安全保障。如果我有一个可变变量,并且我将不可变引用传递给某些线程,则这些线程假设该值不会更改,但我可以通过原始变量改变该值。

我还没有达到线程化,但发现这很奇怪,在这种情况下,与 C++ 没有什么不同:

void doNotChangeMyString(const std::string& myConstString) {
  // ... assume that myConstString cannot change and use it on a thread
  // return immediately even though some worker thread is still
  // using myConstString
} …
Run Code Online (Sandbox Code Playgroud)

rust

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