小编Max*_*spo的帖子

Ruby open-uri 无法打开 url (m1 mac)

我开始学习 ruby​​ 和 scraping,我尝试用 open 打开一个 url,我得到了

lib/scrapper.rb:7:in `initialize': No such file or directory @ rb_sysopen - https://en.wikipedia.org/wiki/Douglas_Adams (Errno::ENOENT) from lib/scrapper.rb:7:in `open' from lib/scrapper.rb:7:in `<main>'

这是我的代码:

# frozen_string_literal: true

require 'rubygems'
require 'open-uri'
require 'nokogiri'

document = open("https://en.wikipedia.org/wiki/Douglas_Adams")

puts document

Run Code Online (Sandbox Code Playgroud)

经过长时间的谷歌研究后,我没有找到任何解决方案,我用这个网址测试打开:http://www.krosmoz.com/fr/almanax 谢谢大家

ps我用的是mac m1不知道是否是兼容性问题

ruby open-uri nokogiri apple-m1

19
推荐指数
1
解决办法
5657
查看次数

如何更改 asm x64 中的 errno 值

我为一个学校项目编写程序集,但我被困在一个点上,我需要在 asm 中重写 Read,所以我明白了,但是我需要设置 errno 变量,然后我的 read 可以在出现错误时返回 -1例如,将 errno 的值设置为 9。而且我没有找到如何更改这个著名的 errno :( 这是我的实际代码:

global my_write

section .text
my_write:
    mov rax, 1  ; sys_write
    syscall     ; call write
    cmp rax, 0
    jl error
    ret
error:
    mov rax, -1
    ret
Run Code Online (Sandbox Code Playgroud)

ps:我找到了需要使用 __error 的地方,但我没有找到任何关于此的文档:(

非常感谢:D

编辑 :

谢谢你们的帮助!__errno_location 工作我做到了:

extern __ernno_location
global my_write

section .text
my_write:
    mov rax, 1  ; sys_write
    syscall     ; call write
    cmp rax, 0
    jl error
    ret
error:
    neg rax    ; get absolute value of syscall return …
Run Code Online (Sandbox Code Playgroud)

linux assembly x86-64 errno system-calls

1
推荐指数
1
解决办法
1161
查看次数

标签 统计

apple-m1 ×1

assembly ×1

errno ×1

linux ×1

nokogiri ×1

open-uri ×1

ruby ×1

system-calls ×1

x86-64 ×1