c.sh Inline C/asm in Bash开源项目

我要开发同款
匿名用户2021年11月09日
28阅读
开发技术SHELL
所属分类终端/远程登录、应用工具
授权协议Readme

作品详情

InlineC/AssemblerinBash

HaveyoueverwantedtocombinethespeedandsafetyofBashwiththeraw,unbridledpowerofC?Thanksto@taviso'swonderfulctypes.shthisispossible:

#!/bin/bash#wherectypes.shisinstalled;youwilllikelyhavetochangethisLD_LIBRARY_PATH=$HOME/local/lib.~/code/ctypes.sh/ctypes.sh#compilestdintoaDSOfunctionbuild{cfile=$(mktemp/tmp/XXXXXX.c)sofile=$(mktemp/tmp/XXXXXX.so)whilereadline;doecho$line>>$cfiledonecc-fPIC-shared$cfile-o$sofilerm-f$cfileecho$sofile}#ourcodesofile=$(build<<EOF#include<stdio.h>voidhello_world(void){puts("helloworld");}intpopcnt(intnum){intout;__asm__("popcnt%1,%0":"=r"(out):"r"(num):"0");returnout;}EOF)#cleanupwhenwe'redonetrap"rm-f$sofile"EXIT#loadthecodedlopen$sofile#printhelloworlddlcallhello_world#getthepopcntof5dlcall-rint-noutpopcnt5echo$out|egrep-o'[0-9]+'

Moredetailsonmyblog.

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论