广告
返回顶部
首页 > 资讯 > 后端开发 > GO >如何在 ARM 中将返回的 uint8_u 转换为 GoString?
  • 849
分享到

如何在 ARM 中将返回的 uint8_u 转换为 GoString?

2024-04-05 00:04:15 849人浏览 薄情痞子
摘要

今天编程网给大家带来了《如何在 ARM 中将返回的 uint8_u 转换为 GoString?》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若

今天编程网给大家带来了《如何在 ARM 中将返回的 uint8_u 转换为 GoString?》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

问题内容

我使用 cgo 从 go 调用 c 函数。该函数的返回类型是uint8_u *。我知道它是一个字符串,需要在 go 中打印它。

我在 myfile.go 中有以下内容

package main

// #cgo cflags: -g
// #include <stdlib.h>
// #include "clogic.h"
import "c"
import (
    "fmt"
    "unsafe"
)    

func main() {
    mystring := "dummy"
    cmystring := c.cstring(mystring)
    defer c.free(unsafe.pointer(cmystring))

    cmyint := c.int(10)

    cresult := c.mycfunction(cmystring, cmyint) // result is type *_ctype_schar (int8_t *)
    goresult := c.gostring(cresult)
    fmt.println("goresult: " + goresult + "\n")
}

在文件clogic.h中

#include <stdint.h>

int8_t *mycfunction(char *mystring, int myint);

在文件clogic.c中

#include <stdint.h>

int8_t *mycfunction(char *mystring, int myint){
    return "this is test";
}

我在行中遇到错误

goResult := C.GoString(cResult)

无法将 cresult(类型 *_ctype_schar)用作类型 *_ctype_char _cfunc_gostring 的参数

我知道它有一个转换问题,但如果我在 c 中将 uint8_u * 转换为 char * 就可以了(我确信这个转换不会有问题)。

当我使用“go version go1.10.3 linux/amd64”将其投射到我的 amd64 电脑上时,它会构建,尽管在使用“go version go1.10.3 linux/arm”的arm机器上我收到错误

无法将 cresult(类型 *_ctype_schar)转换为类型 *_ctype_char


解决方案


所以添加包装器

包装器.h

#include <stdint.h>

char *mywrapper(char *mystring, int myint);

包装器.c

#include <stdint.h>
#include "cLogic.h"

char *mywrapper(char *myString, int myInt);
{
  return (char *)MyCFunction(myString, myInt);
}

并将此包装器包含在您的 go 代码中

终于介绍完啦!小伙伴们,这篇关于《如何在 ARM 中将返回的 uint8_u 转换为 GoString?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~编程网公众号也会发布golang相关知识,快来关注吧!

您可能感兴趣的文档:

--结束END--

本文标题: 如何在 ARM 中将返回的 uint8_u 转换为 GoString?

本文链接: https://www.lsjlt.com/news/596279.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot返回对象时,如何将Long类型转换为String
    目录SpringBoot返回对象将Long类型转换为String1.自定义ObjectMapper2.把MappingJackson2HttpMessageConverter3.定义...
    99+
    2022-11-13
  • 如何在 Java 中将 String 转换为 int?
    问: 如何将 String 转换为 int? "1234" → 1234 答1: huntsbot.com – 高效赚钱,自由工作 String myString = "1234";int ...
    99+
    2023-10-24
    java 开发语言 jvm rxjava boosting
  • 在Java中如何将double转换为int
    小编给大家分享一下在Java中如何将double转换为int,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在Java编程中,您将有一个double原语值(例如82...
    99+
    2023-06-14
  • 如何在MySQL中将VARCHAR转换为INT
    要将VARCHAR转换为INT,我们可以使用cast()MySQL中的函数。这是cast()函数的语法。 cast(anyValue as dataType) AS关键字用于分隔两个参数,在AS之前的是要处理的数据,在AS之后的是要转换的数...
    99+
    2023-10-23
    mysql 数据库 java
  • 如何在Go中将[]byte转换为io.Reader
    目录[]byte 转 io.Readerio.Reader 转 []byte源码解析Reader 接口Writer 接口转换原理总结在 stackoverflow 上看到一个问...
    99+
    2022-06-07
    io reader byte GO
  • 在AngularJS中如何将XML转换为JSON
    本篇文章为大家展示了在AngularJS中如何将XML转换为 JSON,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。我们将谈谈如何在Angular  JS...
    99+
    2022-10-19
  • 如果我们将空的十六进制值转换为数字,MySQL 将返回什么?
    我们知道,空的十六进制值是零长度的二进制字符串,因此如果向其添加 0,则结​​果将为 0。换句话说,我们可以说,如果我们将一个空的十六进制值到一个数字,然后它产生 0。下面的查询将使它理解 -mysql> SELECT X'&...
    99+
    2023-10-22
  • 在 MySQL 中,如何将秒数转换为 TIMESTAMP?
    它与 UNIX_TIMESTAMP() 完全相反,可以借助 FROM_UNIXTIME() 函数来完成。例如,11576070 秒将是 TIMESTAMP ‘1970-05-15 05:04:30’。mysql> Select...
    99+
    2023-10-22
  • 如何在python中将datetime转换为时间戳
    这期内容当中小编将会给大家带来有关如何在python中将datetime转换为时间戳,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序...
    99+
    2023-06-14
  • 如何在python中将numpy数组转换为list
    如何在python中将numpy数组转换为list?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python主要应用领域有哪些1、云计算,典型应用OpenSta...
    99+
    2023-06-14
  • 如何在 Python 中将数字转换为字母?
    在编程中,有时我们需要将数字转换为字母,例如将数字表示的年份转换为对应的字母表示,或者将数字编码转换为字母字符。Python 提供了多种方法来实现这种转换。本文将详细介绍在 Python 中将数字转换...
    99+
    2023-10-07
    python numpy 数据分析
  • vue如何将后台返回的数字转换成对应的文字
    目录将后台返回的数字转换成对应的文字下面跟大家分享一下我的方法vue数字转汉字效果如图将后台返回的数字转换成对应的文字 今天遇到一个问题就是性别一栏后台返回我的是数字,但是前端展示的...
    99+
    2022-11-13
    vue后台返回数字 数字转换文字 vue数字转换文字
  • 如何在PHP中将NumPy数组转换为响应?
    在Python中,NumPy是一个广泛使用的数学库,它提供了丰富的功能和数据结构,包括多维数组、线性代数、傅里叶变换等。然而,当我们需要将NumPy数组传递给PHP后端时,我们需要将它转换为可接受的数据类型。在本文中,我们将介绍如何在PH...
    99+
    2023-11-04
    响应 数组 numy
  • 如何在mybatis中将字段名转换为小写
    本篇文章为大家展示了如何在mybatis中将字段名转换为小写,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、什么是Mybatis?MyBatis是一个优秀的持久层框架,是一个半ORM(对象关系映射...
    99+
    2023-06-06
  • 在Java项目中如何将对象转换为String
    在Java项目中如何将对象转换为String?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java中对象转换为String的常用方法:  方法一:String&...
    99+
    2023-05-31
    java string ava
  • Python如何将list中的string转换为int
    目录如何将list中的string转换为int在Python2中这样操作在Python3中这样操作Python-string,list,int互转记录如何将list中的string转...
    99+
    2022-11-11
  • 如何将 MySQL 表中的列值作为一组值返回?
    借助MySQL的MAKE_SET()函数,我们可以将MySQL表中的列值作为一组值返回。为了理解它,我们以Student_Name表为例,其中包含以下数据−mysql> Select * from Student_N...
    99+
    2023-10-22
  • 如何将PHP中的资源转换为数组
    当你在使用PHP中的资源时,有时可能需要将其转换为数组。虽然这样做可能不是最理想的,但有时确实需要将资源转换为数组。在本文中,我们将讨论如何将PHP中的资源转换为数组。首先,我们需要了解什么是PHP中的资源。资源是一种特殊的变量类型,用于保...
    99+
    2023-05-14
  • 如何在Python中将字符串转换为数组详解
    使用 str.split() 方法将字符串转换为数组,例如 array = string.split(',')。 str.split() 方法将在每次出现提供的分隔符...
    99+
    2022-12-20
    python字符串转换成数组 python中将字符串转化为数组 python字符数组转成整数数组
  • 如何在PHP中将时间戳转换为公元时间
    PHP 是一种广泛使用的服务器端脚本语言,其在 web 开发中扮演着重要的角色。在 PHP 中,时间戳是一个极为常见的数据类型,它是一个整数,表示自“1970 年 1 月 1 日 00:00:00 UTC”以来的秒数。然而,当我们需要将时间...
    99+
    2023-05-14
    公元时间 php php时间戳
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作