c++ 事件回调 java

复制代码
#pragma once



#ifdef __cplusplus
extern "C" {
#endif

    typedef void(*sig_t)(int);
    int FirstEliteValidateTest();
    int FirstEliteValidateTest2(sig_t proc);

#ifdef __cplusplus
}
#endif
复制代码
复制代码
package com.bg.security;

import com.sun.jna.Callback;
import com.sun.jna.Library;
import com.sun.jna.Native;

import java.io.File;
import java.io.IOException;
import java.util.Properties;

public class Program4Linux {
    public interface CLibrary extends Library {
        interface sig_t extends Callback {
            void invoke(int signal);
        }
        int FirstEliteValidateTest();
        int FirstEliteValidateTest2(sig_t proc);
    }

    public static void main(String[] args) throws InterruptedException, IOException {
        CLibrary lib = (CLibrary) Native.load("FirstEliteValidate", CLibrary.class);
        int a = lib.FirstEliteValidateTest();
        System.out.println("a=" + a);

        CLibrary.sig_t fn = new CLibrary.sig_t() {
            public void invoke(int sig) {
                System.out.println("signal " + sig + " was raised");
            }
        };

        int b = lib.FirstEliteValidateTest2(fn);
        System.out.println("b=" + b);


        Properties props = System.getProperties();
        System.out.println("Operating System:" + props.getProperty("os.name"));
        System.out.println("System Version:" + props.getProperty("os.version"));
        System.out.println("end");
    }
}
复制代码

 

posted on   空明流光  阅读(658)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2012-10-18 asp.net 文件下载,有进度条
2012-10-18 asp.net ajax使用方法一

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示