小编bfo*_*ops的帖子

MSVC - 在标题中停止警告

我正在使用MSVC和一个CMaked项目.结果,我在MSVC上启用了许多为gcc和clang启用的标志.然而,/ Wall警告级别给了我一些痛苦; 它警告我包含标题中的所有类型的东西,比如stdio.h和boost标题.有没有办法阻止MSVC警告我标题中的内容?我喜欢我的警告级别,但我只想让它们为我启用.

c++ warnings visual-c++

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

如何安全地投整整数?

曾经有一个fn std::num::cast会在整数类型之间转换并返回一个Option(None如果转换无效则返回).那个功能在哪里?

rust

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

C++宏 - 大写字符串

我正在使用预处理器宏来声明一些重复变量,具体来说:

QuitCallbackType quitCallback;
LossCallbackType lossCallback;
PauseCallbackType pauseCallback;
KeyCallbackType keyCallback;
MouseCallbackType mouseCallback;
Run Code Online (Sandbox Code Playgroud)

我想使用预处理器宏来实现它,la


CREATE_CALLBACK_STORAGE(quit)
CREATE_CALLBACK_STORAGE(loss)
CREATE_CALLBACK_STORAGE(pause)
CREATE_CALLBACK_STORAGE(key)
CREATE_CALLBACK_STORAGE(mouse)
Run Code Online (Sandbox Code Playgroud)

它本质上是这样的:

#define CREATE_CALLBACK_STORAGE(x) capitalize(x)##CallbackType x##CallBack;
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,所以我不必传递每个名称​​的大写和小写版本?

我意识到使用宏的打字并不多,但问题本身开始引起我的兴趣.

c++ macros

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

如何在JavaScript中部分应用成员函数?

我目前有一个部分应用程序功能,如下所示:

Function.prototype.curry = function()
{
    var args = [];
    for(var i = 0; i < arguments.length; ++i)
        args.push(arguments[i]);

    return function()
    {
        for(var i = 0; i < arguments.length; ++i)
            args.push(arguments[i]);

        this.apply(window, args);
    }.bind(this);
}
Run Code Online (Sandbox Code Playgroud)

问题是它只适用于非成员函数,例如:


function foo(x, y)
{
    alert(x + y);
}

var bar = foo.curry(1);
bar(2); // alerts "3"
Run Code Online (Sandbox Code Playgroud)

如何将咖喱函数重新应用于成员函数,如:

function Foo()
{
    this.z = 0;

    this.out = function(x, y)
    {
        alert(x + y + this.z);
    }
}

var bar = new Foo;
bar.z = 3;
var foobar …
Run Code Online (Sandbox Code Playgroud)

javascript currying partial-application

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

C#中的静态链接?

Windows Azure客户端库非常大(几MB),我有一个相当小的项目(大约几百KB),只使用它们中的一些功能.有没有办法让我在构建时链接这些函数,以便生成的DLL不会变得非常臃肿,我不必在运行时链接函数?

像这样的东西http://blogs.msdn.com/b/microsoft_press/archive/2010/02/03/jeffrey-richter-excerpt-2-from-clr-via-c-third-edition.aspx,但我得到了捆绑在整个DLL中的印象.

谢谢!

编辑:因为最终可交付DLL的大小存在外部约束,所以对它进行充气是绝对的最后手段 - 我唯一知道的另一个选择就是复制我逐字使用的代码.

c# azure static-linking

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

core :: marker :: Sized没有为Foo实现

我有这个相当简单的Rust程序:

use std::ops::Deref;

trait Foo {
  fn foo(&self);
}

impl Foo for () {
  fn foo(&self) {
    println!("hello world");
  }
}

impl<F> Foo for Box<F> where F: Foo {
  fn foo(&self) {
    let f: &F = self.deref();
    f.foo()
  }
}

fn call_foo<F>(foo: &F) where F: Foo {
  foo.foo()
}

fn main() {
  let foo: Box<Foo> = Box::new(());
  call_foo(&foo);
}
Run Code Online (Sandbox Code Playgroud)

但是我收到了编译错误:

$ rustc main.rs
main.rs:26:3: 26:11 error: the trait `core::marker::Sized` is not implemented for the type `Foo` [E0277]
main.rs:26   call_foo(&foo);
             ^~~~~~~~ …
Run Code Online (Sandbox Code Playgroud)

traits rust

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

如果库需要不同版本的`base`怎么办?

我正在尝试安装需要与我安装的版本不同的版本的软件包(我有4.6.0.0,他们需要< 4.6).如何在我的系统上安装这些?

编辑:这些包实际上需要较旧的包来构建,而不仅仅是作为.cabal约束.

haskell cabal

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

Template Haskell可以生成多参数类型类实例吗?

最新的(2.8.0.0)定义Dec具有以下实例构造函数:

InstanceD Cxt Type [Dec]
Run Code Online (Sandbox Code Playgroud)

似乎只能实例化一种类型.有办法解决这个问题吗?

haskell template-haskell

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

抛弃终身约束?

我正在尝试编写一个Rust函数,该函数将一个生存期约束的输入转换为具有全局生存期约束的相同类型的输出(概念上类似unsafe fn foo<'a, T1, T2>(x: T1) -> T2 where T1: 'a, T2 = T1 + 'static),但是我不知道如何在不添加间接层的情况下编写它喜欢Box。有任何想法吗?

更一般地,我想实现一个不安全的thread::scoped来讲mem::transmutethread::spawnspawn需要'staticTF参数的界限,但scoped不是。

lifetime rust

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

xcodebuild 找不到 cocoapods 库

我有一个 xcode 项目(从 Unity 构建),它使用 cocoapods 来安装 Firebase 依赖项。它通过 xcode GUI 构建得很好,但不使用xcodebuild我用于自动构建的调用:

xcodebuild -archivePath "$ARCHIVE_PATH" -project "$(pwd)/repo/quantum_unity/Build/$PLATFORM/Unity-iPhone.xcodeproj" -sdk iphoneos -allowProvisioningUpdates -scheme 'Unity-iPhone' -configuration 'Release Development' archive DEVELOPMENT_TEAM=$TEAMID
Run Code Online (Sandbox Code Playgroud)

构建无法FirebaseCore在链接中找到库。

我的调用方式需要改变什么xcodebuild才能找到由 cocoapods 安装的 pod?

我正在使用 xcode 版本 9.4.1。

xcode unity-game-engine cocoapods firebase xcode9.4

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