可锐资源网

技术资源分享平台,提供编程学习、网站建设、脚本开发教程

JNI vs PInvoke

起因

一直以来,没有接触过JNI,看到群里有人说:如何在C#调用JNI生成动态库中的函数.正好有时间就看看JNI是如何生成调用本地函数(.Net中叫非托管函数).


本地函数(Native Function): c或者c++的函数.
JNI(Java Native Interface):Java制定一些标准结构和接口,让c/c++做具体的函数实现,进而实现Java与c/c++语言的交互,在需要性能的时候,可以直接使用c/c++生成的动态库或者共享库.

段错误(segmentation fault ):9种实用调试方法,你用过几种?

引言

每个在Linux环境下工作的程序员,都遇到过段错误(segmentation fault)。所谓段错误,本质上是程序访问了非法内存地址而引起的一种错误类型。

导致程序访问非法地址的原因有很多,如野指针、内存被踩、栈溢出、访问没有权限的内存等。

之前更新调试专题文章时,有朋友问到段错误的调试方法,我承诺会更新文章专门介绍,本文就是来填这个坑的。

本文将介绍9种非常实用的段错误调试方法。

Linux 网络错误 TCP: too many orphaned sockets 分析与解决

问题起因:在服务器上部署了单个golang编写的HTTPDNS实例,一个固定的端口9981对外提供服务。

Linux命令记不住?收藏这61个常用的命令就足够了

新手学习Linux最痛苦的事,就是背Linux命令。

如果不知道哪些命令是常用的,全部死记硬背的话,那就更痛苦了,今天给大家分享一下Linux中常用的61个命令解读!

包含:

  • 管理文件和目录的命令
  • 磁盘空间的命令
  • 文件备份和压缩命令

深入理解 Linux 位置无关代码 PIC

转自《内核工匠》

本文主要描述了Linux系统上关于位置无关代码PIC,位置无关可执行程序PIE及地址空间布局随机化ASLR三个主要特性的原理及联系。第一部分首先介绍了应用程序地址空间的基础知识作为铺垫;第二部分重点讲解PIC的实现原理;第三部分简单介绍了PIE的概念;第四部分讲解ASLR和PIE如何配合工作,以实验的方式来说明二者的联系。

通过pybind11来实现python调用C++接口(一)

有小伙伴很好奇,怎么样实现python调用C++接口?哈哈,手把手教程来了。

Linux下C++访问web—使用libcurl库调用http接口发送解析json数据


一、背景

这两天由于一些原因研究了研究如何在客户端C++代码中调用web服务端接口,需要访问url,并传入json数据,拿到返回值,并解析。

.NET既然是开源的那么可不可以把它移植到鸿蒙操作系统上?

「Linux」——select和epoll详解


select和epoll详解

    在C/C++程序中打印当前函数调用栈

    前几天帮同事跟踪的一个程序莫名退出,没有core dump(当然ulimit是打开的)的问题。我们知道,正常情况下,如果程序因为某种异常条件退出的话,应该会产生core dump,而如果程序正常退出的话,应该是直接或者间接的调用了exit()相关的函数。基于这个事实,我想到了这样一个办法,在程序开始时,通过系统提供的atexit(),向系统注册一个回调函数,在程序调用exit()退出的时候,这个回调函数就会被调用,然后我们在回调函数中打印出当前的函数调用栈,由此便可以知道exit()是在哪里调用,从而上述问题便迎刃而解了。上述方法用来解决类似问题是非常行之有效的。在上面,我提到了在“回调函数中打印出当前的函数调用栈”,相信细心的朋友应该注意到这个了,本文的主要内容就是详细介绍,如何在程序中打印中当前的函数调用栈。

    控制面板
    您好,欢迎到访网站!
      查看权限
    网站分类
    最新留言