小编Tod*_*.Lu的帖子

如何限制kotlin使用jdk1.6上面公布的java api

我的编译环境是jdk1.8,运行时环境是jdk1.6.javagradle插件有sourceCompatibility属性.它对java项目有效.
例如:当sourceCompatibility=1.6我使用api 时编译器将报告错误,例如Paths来自jdk1.7 的api .

sourceCompatibility属性不适用于kotlin项目.我知道它超出了java插件的范围.但是我很奇怪kotlingradle的插件是否有类似的属性.(jvmTarget属性默认为1.6,它不会阻止我使用jdk1.7 api)

===我的代码===

kotlin代码:

fun main(args: Array<String>) {
    val pp = Paths.get("/tmp")
    ... ...
}
Run Code Online (Sandbox Code Playgroud)

我希望kotlin的编译器报告错误,但编译成功,

父母build.gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0"
    }
}
subprojects {
    apply plugin: "java"
    compileJava.sourceCompatibility=1.6
    compileJava.targetCompatibility=1.6
    compileJava.options.encoding = 'UTF-8'

    // For ubuntu
    compileJava.options.bootClasspath = '/usr/lib/jvm/java-6-oracle/jre/lib/rt.jar'
}
Run Code Online (Sandbox Code Playgroud)

儿童kotlin项目build.gradle:

apply plugin: 'application'
apply plugin: 'kotlin'

mainClassName = …
Run Code Online (Sandbox Code Playgroud)

kotlin gradle-plugin

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

为什么不能使用signalfd 捕获SIGSEGV?

我的系统是 ubuntu 12.04。我从 修改了示例man 2 signalfd,并添加了示例sigaddset(&mask, SIGSEGV)。但是在SIGSEGV生成时我无法获得输出。

它是一个错误glibc吗?源代码片段如下:

       sigemptyset(&mask);
       sigaddset(&mask, SIGINT);
       sigaddset(&mask, SIGQUIT);
       sigaddset(&mask, SIGSEGV);

       /* Block signals so that they aren't handled
          according to their default dispositions */

       if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1)
           handle_error("sigprocmask");

       sfd = signalfd(-1, &mask, 0);
       if (sfd == -1)
           handle_error("signalfd");
        int* a = NULL;
       for (;;) {
           s = read(sfd, &fdsi, sizeof(struct signalfd_siginfo));
           if (s != sizeof(struct signalfd_siginfo))
               handle_error("read");

           if (fdsi.ssi_signo == SIGINT) {
               printf("Got SIGINT\n"); …
Run Code Online (Sandbox Code Playgroud)

linux signals

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

标签 统计

gradle-plugin ×1

kotlin ×1

linux ×1

signals ×1