V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about
lohiecan
V2EX  ›  推广

编程语言在线运行代码是如何实现的?

  •  
  •   lohiecan · Apr 6, 2020 · 4716 views
    This topic created in 2212 days ago, the information mentioned may be changed or developed.

    在线运行代码, 比如 http://jsrun.net 就是支持非常多种语言的支持。

    他们是把用户提交上来的代码保存到一个文件里面, 如果是 c 语言就要先进行编译,然后再执行可执行文件,然后再发执行结果返加到用户看到的网页上面, 比如 http://c.jsrun.net 就是 c 语言的在线代码运行。

    其中的过程其实非常复杂, 但是 JSRUN 的在线执行非常的快, 主要是用了 超高速 SSD 增加文件读写能力, 这种 SSD 一般需要 3GB/s 以上的读写速度才可以。

    另外还要解决的安全性问题, 用户如果提交上来的是死循环,那么直接机器就卡死了。 如果提交上来的代码是删除整个硬盘,那么服务器就完蛋了。 中间要作非常的多的识别 来排除恶意代码的运行。

    JSRUN 是非常好的一个网站,在国内已经是大龙头了, 建议你直接使用他们的服务就可以了。 做这些工作需要大量的精力维护,不建议再重复造轮子。

    25 replies    2020-04-08 12:44:20 +08:00
    xiri
        1
    xiri  
       Apr 6, 2020   ❤️ 8
    你这个广告打的有点不用心啊,至少换给 id 吧,首页上还能看到你的另一个帖子“我做了一个在线运行代码的网站叫 JSRUN, 大家有兴趣吗?”呢
    renmu
        2
    renmu  
       Apr 6, 2020 via Android
    自问自答 23333
    myqoo
        3
    myqoo  
       Apr 6, 2020
    不错,可以用来挖门罗币
    lohiecan
        4
    lohiecan  
    OP
       Apr 6, 2020
    @xiri 哈哈哈,我就是想增加一些点击量
    auin
        5
    auin  
       Apr 6, 2020
    恭喜用户 -1
    zhuzhibin
        6
    zhuzhibin  
       Apr 6, 2020 via iPhone
    老哥看了你的广告 我不再用 jsrun 了嘻嘻
    Nugine0
        7
    Nugine0  
       Apr 6, 2020 via Android
    道理我都懂,在线执行速度和 SSD 有啥关系?
    sunnywqf
        8
    sunnywqf  
       Apr 6, 2020
    死循环,删库都已经拦截了,不知道还有什么其他的可以玩玩的?
    yafoo
        9
    yafoo  
       Apr 6, 2020 via Android
    支持,老早就收藏了。不过这广告打的确实不用心
    just1
        10
    just1  
       Apr 6, 2020
    报一个 bug 吧,首页的项目鼠标放预览图上会出现三个按钮,鼠标移到按钮上,预览图上方的白色遮罩会一直闪烁
    lhx2008
        11
    lhx2008  
       Apr 6, 2020 via Android
    就是 docker 呗
    supercaizehua
        12
    supercaizehua  
       Apr 7, 2020
    建议发到广告节点
    fengshils
        13
    fengshils  
       Apr 7, 2020 via Android
    恭喜用户 -1
    labubu
        14
    labubu  
       Apr 7, 2020
    已报警
    lohiecan
        15
    lohiecan  
    OP
       Apr 7, 2020 via Android
    @zhuzhibin 悲伤 +1
    lohiecan
        16
    lohiecan  
    OP
       Apr 7, 2020 via Android
    @Nugine0 主要工作量是磁盘读写的操作,io 性能影响整体速度
    lohiecan
        17
    lohiecan  
    OP
       Apr 7, 2020 via Android
    @liuxey 悲伤 +1
    lohiecan
        18
    lohiecan  
    OP
       Apr 7, 2020 via Android
    @liuxey 悲伤 +2
    lohiecan
        19
    lohiecan  
    OP
       Apr 7, 2020 via Android
    @yafoo 这些支持 哈哈哈
    lohiecan
        20
    lohiecan  
    OP
       Apr 7, 2020 via Android
    @just1 嗯嗯 谢谢,我这就去改良一下
    deplives
        21
    deplives  
       Apr 7, 2020
    看了下个人记录,emmm 把广告打得这么清新脱俗的我倒是第一次见
    Eugene1024
        22
    Eugene1024  
       Apr 7, 2020
    话说是如何解决把不同的代码发送到不同的编译器里面去运行呢
    lohiecan
        23
    lohiecan  
    OP
       Apr 7, 2020
    @deplives 谢谢老哥夸赞
    lohiecan
        24
    lohiecan  
    OP
       Apr 7, 2020
    @Eugene1024 这个简单,调用不同编译器就可以了
    noparking188
        25
    noparking188  
       Apr 8, 2020
    我竟然觉得这广告打的有点可爱
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1196 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 69ms · UTC 18:02 · PVG 02:02 · LAX 11:02 · JFK 14:02
    ♥ Do have faith in what you're doing.