小编LK_*_*K__的帖子

gcc警告"'将在'之后初始化'

我从第三方代码中得到了很多这些警告,我无法修改.有没有办法禁用此警告或至少禁用某些区域(如VC++中的#pragma push/pop)?

例:

list.h:1122: warning: `list<LogOutput*, allocator<LogOutput*> >::node_alloc_' will be initialized after 
list.h:1117: warning:   `allocator<LogOutput*> list<LogOutput*, allocator<LogOutput*> >::alloc_'
Run Code Online (Sandbox Code Playgroud)

g++ suppress-warnings

214
推荐指数
6
解决办法
12万
查看次数

根据名称获取实例变量的值

一般来说,如何获取对字符串中名称的对象的引用?

更具体地说,我有一个参数名称列表(成员变量 - 动态构建,所以我不能直接引用它们).

每个参数都是一个也有from_s方法的对象.

我想做类似以下的事情(当然这不起作用......):

define_method(:from_s) do | arg |
    @ordered_parameter_names.each do | param |
        instance_eval "field_ref = @#{param}"
        field_ref.from_s(param)
    end
end
Run Code Online (Sandbox Code Playgroud)

ruby metaprogramming

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

单元测试.文件结构

我有一个包含10-15个应用程序的C++遗留代码库,它们共享多个组件.

在为共享组件和应用程序本身设置单元测试时,我想知道是否有接受/通用文件结构.

因为我的单元测试有几个基类以简化项目/客户特定的测试设置,所以有很多文件对所有测试都是通用的.

对我来说,在这里创建一个包含所有测试相关文件,模拟等的新目录似乎很自然 - 将它全部集中在一起,并且还继续测试主要make文件中的相关定义.

另一方面,我发现将测试文件与他们测试的代码文件一起驻留是很常见的做法.

是否有更多/更少被接受的方式?

c++ unit-testing

12
推荐指数
1
解决办法
1834
查看次数

替代UIView autolayout方法,这些方法将被弃用

根据UIView.h头文件,以下方法将被弃用.

在代码中使用autolayout的替代方法是什么?

我没有看到代码注释中推荐的方法如何替换它们现有的对应物,因为它们处理实际约束而不是UIView和约束之间的关系.

@interface UIView (UIConstraintBasedLayoutInstallingConstraints)

- (NSArray *)constraints NS_AVAILABLE_IOS(6_0);

- (void)addConstraint:(NSLayoutConstraint *)constraint NS_AVAILABLE_IOS(6_0); // This method will be deprecated in a future release and should be avoided.  Instead, set NSLayoutConstraint's active property to YES.
- (void)addConstraints:(NSArray *)constraints NS_AVAILABLE_IOS(6_0); // This method will be deprecated in a future release and should be avoided.  Instead use +[NSLayoutConstraint activateConstraints:].
- (void)removeConstraint:(NSLayoutConstraint *)constraint NS_AVAILABLE_IOS(6_0); // This method will be deprecated in a future release and should be avoided.  Instead set NSLayoutConstraint's active property …
Run Code Online (Sandbox Code Playgroud)

deprecated ios autolayout swift

9
推荐指数
1
解决办法
1391
查看次数

将对象实例添加到gradle插件扩展

我有类似下面的插件,我有一个外部命名空间,在其中有mother一个对象的"具体"实例()加上另一个集合(children).

family {
  mother {
      firstname = 'John'
      lastname  = 'Cleese'
  }
  children {
      son {
        firstName = 'John'
        lastName  = 'Cleese'
      }
      daughter {
        firstName = 'Jane'
        lastName  = 'Cleese'
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

我能够添加集合对象并根据我见过的各种示例读取变量但不确定如何添加具体实例.
如何在扩展对象上定义它?

显示问题的代码 - 我想将mother插件添加为单个实例.

import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
import org.gradle.api.NamedDomainObjectContainer
import org.gradle.api.*

class Person
{
  final String name
  String firstName
  String lastName
  Person(String name) { this.name = name }
}

class FamilyExtension {

  final NamedDomainObjectContainer<Person> children
  Person mother
  Person …
Run Code Online (Sandbox Code Playgroud)

gradle

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

在Ruby中访问pgp加密文件

我有一个pgp加密的文件,我需要从运行时提取数据.
这可以通过仅解密到内存来完成(而不是创建解密文件并在完成时删除它)?

ruby pgp

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

CVPixelBuffer到CIImage总是返回nil

我试图将从AVPlayerItemVideoOutput提取的pixelBuffer转换为CIImage但总是为零.

代码

if([videoOutput_ hasNewPixelBufferForItemTime:player_.internalPlayer.currentItem.currentTime])
{
    CVPixelBufferRef pixelBuffer = [videoOutput_ copyPixelBufferForItemTime:player_.internalPlayer.currentItem.currentTime
                                                         itemTimeForDisplay:nil];

    CIImage *image = [CIImage imageWithCVPixelBuffer:pixelBuffer]; // Always image === nil
    CIFilter *filter = [FilterCollection filterSepiaForImage:image];
    image = filter.outputImage;

    CIContext *context = [CIContext contextWithOptions:nil];
    CGImageRef cgimg = [context createCGImage:image fromRect:[image extent]];
    [pipLayer_ setContents:(id)CFBridgingRelease(cgimg)];

} 
Run Code Online (Sandbox Code Playgroud)

下面是pixelBuffer用于创建CIImage的详细信息(总是导致nil):

$0 = 0x09b48720 <CVPixelBuffer 0x9b48720 width=624 height=352 bytesPerRow=2496 pixelFormat=BGRA iosurface=0x0 attributes=<CFBasicHash 0x98241d0 [0x1d244d8]>{type = immutable dict, count = 3,
entries =>
    0 : <CFString 0x174cf4 [0x1d244d8]>{contents = "Height"} = <CFNumber 0x9a16e70 [0x1d244d8]>{value = …
Run Code Online (Sandbox Code Playgroud)

core-image avfoundation core-video ios

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

基于akka流的条件的替代流程

有一个自定义流的流,在某个阶段我想拆分流,并有两个替代数据处理,稍后将再次合并.

例如

                  -> F3 -> F6 
Src -> F1 -> F2                > Merge -> Sink 
                  -> F4 -> F5
Run Code Online (Sandbox Code Playgroud)

F2应该有条件说数据是否包含格式A然后它应该流动F3,否则转到F4.

据我所知,每个流程在每个方向上只能有一个端口(如果是双向的话,则为两个端口) - 那么我如何支持这样的流程呢?

scala akka akka-stream

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

Akka Streams在群集节点上运行

我试图理解Akka Streams的缩放部分我在这里看到了各种回复,但仍然无法理解这个功能是如何完成的.

有一些ActorPublisher/Subscribers,根据我的理解,它意味着与流交互,但同时它说这些不能是远程的.

如何才能将akka集群与流一起使用?我是否必须让GraphStage将其工作"外包"给远程演员?或者graphStage本身可以在群集节点上运行吗?

我的用例是有一个包含几个带有连接和合并的重计算阶段的管道,可能需要分配其中一些阶段.

更新
根据使用Akka Streams对Web进行爬网,我发现单个图不能跨越多个集群.在这种情况下横向扩展的方式是什么?

scala akka akka-cluster akka-stream

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

在Unix上获取运行应用程序的指令指针

有没有办法获取正在运行的应用程序Unix的指令指针?

我有一个正在运行的进程(C++)并想要获取其当前位置,然后在GDB(在另一台机器上)将位置映射到源位置('list'命令).

unix debugging gdb

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

在ruby中读取/写入受密码保护和加密的文件

我想加密ruby程序将从中加载数据的文件.另外,我需要程序在启动时提示输入密码,用于解密文件.

换句话说,文件需要在机器上加密,只有拥有密码的用户才能运行该应用程序.

我已经开始关注openpgp,但据我了解,这仍然无法解决密码问题.

ruby encryption

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

使用ResponseWriter.Write后,在Go中250个连接后,"localhost:没有这样的主机"

我有以下http客户端/服务器代码:

服务器

func main() {

    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Println("Req: ", r.URL)
        w.Write([]byte("OK")) // <== PROBLEMATIC LINE
        // w.WriteHeader(200) // Works as expected
    })

    log.Fatal(http.ListenAndServe(":5008", nil))
}
Run Code Online (Sandbox Code Playgroud)

客户

func main() {

    client := &http.Client{}

    for i := 0; i < 500; i++ {
        url := fmt.Sprintf("http://localhost:5008/%02d", i)
        req, _ := http.NewRequest("GET", url, nil)
        _, err := client.Do(req)

        if err != nil {
            fmt.Println("error: ", err)
        } else {
            fmt.Println("success: ", i)
        }

        time.Sleep(10 * time.Millisecond)
    }
}
Run Code Online (Sandbox Code Playgroud)

当我在服务器上面运行客户端时,在250个连接后,我从client.Do获得以下错误: …

networking go

3
推荐指数
2
解决办法
4062
查看次数