小编Mad*_*C.S的帖子

Sun RPC:传输二进制文件

我想将二进制文件传输到远程服务器.我在我的代码中使用SUN/ONC RPC(Linux上的rpcgen).我正在使用C.我已经为服务器和客户端编写了代码,它适用于文本文件,但是当我尝试传输二进制文件时,它表示文件在传输后已损坏.我将数据块存储在字符数组或XDR字符串中.我认为将数据存储为字符数组存在一些问题.有人可以告诉我这是什么问题吗?有人可以帮帮我吗?

我在这里附上我的代码片段以供参考,如果有人想看看我在做什么.

我的IDL:

const MAXLEN = 1024;

/*
 * Type for storing path
 */
typedef string filename<MAXLEN>;

/*
 * Structure for sending request. Expects the path of the file
 * and the byte number at which to start reading the file from
 */
struct request {
    filename name;
    int start;
};

/*
 * Type that represents the structute for request
 */
typedef struct request request;

/*
 * Type for storing a chunk of the file that is being
 * …
Run Code Online (Sandbox Code Playgroud)

c ftp rpc sunrpc

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

如何在x86_64汇编中读取STDIN的输入?

我正在尝试学习x86_64程序集,我今天正在尝试标准输入输出并偶然发现这个帖子学习程序集 - echo程序名称如何从STDIN读取输入(使用SYSCALL指令)?特别是如果我知道输入将始终是一个整数,我想将其读入寄存器?

编辑: @Daniel Kozar在下面的回答帮助我理解了STDIN和STDOUT如何与Linux上的SYSCALL指令一起工作.我试图编写一个小程序,它从控制台输入中读取一个数字并打印与该数字对应的ascii字符.假如你输入65作为输入,你应该得到A作为输出.还有一个新的线条角色.如果有的话,它可以帮助任何其他人:-)

section .text
    global _start

_start:
    mov rdi, 0x0      ; file descriptor = stdin = 0
    lea rsi, [rsp+8]  ; buffer = address to store the bytes read
    mov rdx, 0x2      ; number of bytes to read
    mov rax, 0x0      ; SYSCALL number for reading from STDIN
    syscall           ; make the syscall

    xor rax, rax      ; clear off rax
    mov rbx, [rsp+8]  ; read the first byte read into rsp+8 by STDIN call …
Run Code Online (Sandbox Code Playgroud)

assembly stdin x86-64

11
推荐指数
1
解决办法
2万
查看次数

JS/node.js中匹配字符的行号

是否可以在Javascript或node.js中找到多行输入(如文件)的正则表达式匹配字符的行号?

javascript regex node.js

8
推荐指数
3
解决办法
3423
查看次数

SWIG:从C++代码报告Python异常

我正在使用一个库,它在其API文档中指定了一个从库的某个特定类继承的类.库本身是用C++编写的,使用SWIG生成Python的绑定.问题是,当我运行我的Python代码时,无论Python抛出什么异常,我都会收到错误"在抛出'Swig :: DirectorMethodException'实例后调用终止".

我想在执行我的程序时报告Python代码引发的这个异常.Esp,那些我得到ZeroDivisionError的情况.

我试图通过遵循SWIG文档中描述的方法来解决一些问题,该文档位于http://www.swig.org/Doc2.0/Python.html#Python_nn36但没有运气.无论我在module.i文件中放入什么,我仍然得到相同的消息"在抛出'Swig :: DirectorMethodException'的实例后终止调用".

有人可以给我指点如何处理这个问题,以便报告Python异常吗?

c++ python swig exception

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

如何识别变量是类还是对象

我正在更低层次上编写一个小框架,用于在Python中为我的项目创建测试夹具.在这里我想知道一个特定的变量是某个类的实例还是一个类本身,如果它是一个类,我想知道它是否是我的框架定义的某个类的子类.我该怎么做?

class MyBase(object):
    pass

class A(MyBase):
    a1 = 'Val1'
    a2 = 'Val2'

class B(MyBase):
    a1 = 'Val3'
    a2 = A
Run Code Online (Sandbox Code Playgroud)

我想知道属性a1和a2是类/类型的实例(a1是B中的字符串类型)还是类对象本身(即a2是B中的A).你能帮我解决一下这个问题吗?

python

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

标签 统计

python ×2

assembly ×1

c ×1

c++ ×1

exception ×1

ftp ×1

javascript ×1

node.js ×1

regex ×1

rpc ×1

stdin ×1

sunrpc ×1

swig ×1

x86-64 ×1