美文网首页设计iOS DeveloperiOS
Swift on Linux —— 调用系统C语言库

Swift on Linux —— 调用系统C语言库

作者: PonyCui | 来源:发表于2015-12-06 21:57 被阅读337次

在日常工作中,调用系统库生成我们所需要的对象、结果是必要的,系统库已经为我们提供了丰富的基础功能,比如随机数的生成、Socket通讯的实现、MD5加密等等。

在 Swift 中调用系统库是非常简单的。

只需要 import Glibc 就可以了,如果在 OSX 上,你需要 import Darwin.C

我们以生成一个随机数为例,编辑 main.swift 文件并保存即可。

#if os(Linux)
import Glibc
#else
import Darwin.c
#endif

#if os(Linux)
let randomNumber = random() % 1000
#else
let randomNumber = arc4random() % 1000
#endif

print(randomNumber)

重新编译并运行程序就可以看到结果

我们在上面这些代码做了什么?

  • 首先,我们使用宏区分系统,然后 import 对应的 C 语言库;
  • 然后,因为各自系统需要调用的函数名称不一样,因此我们也需要区分系统去调用
  • 最后,我们把得到的数字打印出来。

当然,这里的 random() 缺少种子生成器,当你需要使用的时候,记得加上种子生成器。

目录:http://www.jianshu.com/notebooks/2633832/latest
下一篇:使用 Xcode 进行跨平台开发

相关文章

  • Swift on Linux —— 调用系统C语言库

    在日常工作中,调用系统库生成我们所需要的对象、结果是必要的,系统库已经为我们提供了丰富的基础功能,比如随机数的生成...

  • golang调用c动态库

    golang调用c动态库 简介 golang调用c语言动态库,动态方式调用,可指定动态库路径,无需系统目录下 核心...

  • 新手怎么在Linux系统上用c语言编程

    从课程目录来看,课程包含两部分:标准C语言编程和Linux系统编程。C语言编程使用C语言标准库;Linux系统编程...

  • Linux系统架构及内核架构

    1. linux系统架构如下图所示: linux系统架构由硬件、kernel、系统调用、shell、c库、应用程序...

  • windows下的c语言和linux 下的c语言以及C标准库和系

    windows下的c语言和linux 下的c语言以及C标准库和系统API 1.引出我们的问题? 标准c库都是一样的...

  • 操作系统第一次上机实验-Linux系统下的进程创建

    本文使用Linux系统,语言使用C语言 1.如何在Linux系统下,编译运行C语言 1.1创建编写一个.c文件 如...

  • 调用 C 函数

    //调用C动态库 // Swift中无法直接调用C函数。比如MD5 //就需要借助混编OC来实现

  • iOS大纲

    一、语言主要开发语言:swift、oc相关开发语言:c、c++、js、汇编、Linux常用命令、shell脚本 二...

  • Swift 调用 c 语言

    无参数型 define 常量的定义 此类 define,Swift 会转换为常量定义,等同于如下代码 非常量的定义...

  • linux内核

    系统调用 用户进程与内核进行交互的一组接口; 需要C库支持,通过使用C库定义的函数来访问系统调用 系统调用、中断、...

网友评论

  • WyattWang:感觉Swift这个功能实在是太厉害了,为底层的一些东西省了好多的事。而C的Lib也着实简洁。有了这些东西,Swift应该可以在Linux里面实现任何东西了吧。
    PonyCui:@WyattWang 我正在研究如何使用 c 或者 c++ 编写私有库,然后给 swift 使用。

本文标题:Swift on Linux —— 调用系统C语言库

本文链接:https://www.haomeiwen.com/subject/excehttx.html