隔叶黄莺 Yanbin's Blog - 软件编程实践
open-menu closeme
Home
Archives
Links icon
LinkedIn X
留言
关于
github twitter linkedin rss
  • 学习 Rust 的工作空间, 包, Crate 和模块管理

    calendar Nov 28, 2025 · 6 min read · Rust  ·
    Share on: twitter facebook linkedin copy
    Rust 项目一旦增大,用 cargo new demo 创建的单一包,单个 src/main.rs 的项目组织方式不能满足需求了

    $ cargo new demo
    $ tree demo
    demo
    ├── Cargo.toml
    └── src
              └── main.rs
    比如至少要一个 src/lib.rs 文件吧,复杂些还需在  src 目录中创建模块层次的目录; 更大型项目还要在 Package 上边创建 Workspace。

    这里就引出了 Rust 项目的几个概念,即 Package, Crate, 模块,以及 Workspace,再就是如何在代码中引用不同 Package, Crate, 模块中的资源要用到路径。 Read More
  • Rust 调用 C/Rust 生成的动态库

    calendar May 30, 2024 · 3 min read · Shared Library Rust  ·
    Share on: twitter facebook linkedin copy
    Rust 调用 C/Rust 生成的动态库
    在始终是 C/C++ 有着更优越性能的情况下,因而之前介绍过多种 其他不同的语言如何加载使用 C/C++ 写的动态库,有 Go, Python, Java 和 C#。在学习 Rust 之时也有类似的需求。本文的做法是要用到第三方库 libloading,这里将参考官方的例子。


    先来创建一个动态库,使用和 Go 调用 C 写的动态库完整例子(Linux版) 一文中相同的例子,add.c 代码内容如下

     1#include <string.h>
     2#include <stdio.h>
     3#include <stdlib.h>
     4char* add(char* src, int n)
     5{
     6    char str[20];
     7    sprintf(str, "%d", n);
     8    char *result = malloc(strlen(src)+strlen(str)+1);
     9    strcpy(result, src);
    10    strcat(result, str);
    11    return result;
    12}
    在 Linux 中使用如下命令编译出 libadd.so 动态库文件 Read More

Yanbin Qiu

长年奋斗在软件编程第一线的从业人员,以写日志的形式帮助自己记忆与深入探索,文章若对大家有所帮助,实属敝人之荣幸。
Read More

Featured Posts

  • Rust 调用 C/Rust 生成的动态库
  • AWS 上 Java Lambda 应用记要
  • Apache 配置 SSL(HTTPS) 并整合 Tomcat
  • My First Post
  • Markdown Syntax Guide

Recent Posts

  • 学习 Rust 的工作空间, 包, Crate 和模块管理
  • 《100 Java Mistakes and How to Avoid Them》笔记 3
  • 《100 Java Mistakes and How to Avoid Them》笔记 2
  • 《100 Java Mistakes and How to Avoid Them》笔记 1
  • AWS Lambda 中使用 Python 并发编程
  • AWS Lambda 重试与死信队列(DLQ)
  • AWS Lambda 按序处理同一个 Kinesis Shard 中的消息
  • AWS Java Lambda 与环境变量

Categories

JAVA/JEE 11 AWS 6 CLOJURE 3 JVM 3 READINGNOTES 3 MID-WARE 2 RUST 2 SYNTAX 2 C++/VB 1 LINUX/UNIX 1 PYTHON 1 TECHNOLOGY 1 THEMES 1 WEB/JS 1

Series

THEMES GUIDE 2

Tags

JAVA 7 LAMBDA 5 ANT 4 CLOJURE 3 GC 3 JVM 3 HTTPS 2 JAVABEAN 2 MARKDOWN 2 RUST 2 TOMCAT 2 ANGULARJS 1 APACHE 1 AWS 1
All Tags
ANGULARJS1 ANT4 APACHE1 AWS1 CLOJURE3 COMPILE1 CSS1 DLQ1 EMOJI1 FEATURED1 GC3 HTML1 HTTPS2 HUGO1 INDEX1 JAVA7 JAVABEAN2 JAVASCRIPT1 JUNIT1 JVM3 KINESIS1 LAMBDA5 MARKDOWN2 NOTES1 PRIVACY1 PROCESS1 REPORT1 RUST2 SCP1 SHARED LIBRARY1 SHORTCODES1 SSH1 TAG_NAME11 TAG_NAME21 TEXT1 THEMES1 TOMCAT2 WEBSPHERE1 云服务1 自动化1
[A~Z][0~9]
Yanbin 隔叶黄莺

Copyright 2010-  YANBIN 隔叶黄莺. All Rights Reserved

to-top