小编Sug*_*uge的帖子

如何使用表类型参数和表类型返回值从Lua调用C函数?

我想用C语言实现一个函数,这个函数应该用一个table参数调用,它应该返回一个表类型值.

通常我们使用C实现lua函数,就像代码一样.但是库没有提供luaL_checktable和lua_pushtable,我们能做什么?

static int average(lua_State *L)
{
    int n = lua_gettop(L);
    double sum = 0;
    int i;

    for (i = 1; i <= n; i++)
    {
            sum += lua_tonumber(L, i);
    }


    lua_pushnumber(L, sum / n);
    lua_pushnumber(L, sum);

    return 2;
}
Run Code Online (Sandbox Code Playgroud)

c lua

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

如何在Linux中运行命令并检测C语言是否成功?

我用下面的代码用C在Linux中运行一个命令,我只能得到这个函数的输出,我怎么能检测是否它已成功运行?有没有代表这个的返回码?

const char * run_command(const char * command)
{

    const int BUFSIZE = 1000;

    FILE *fp;
    char buf[BUFSIZE];

    if((fp = popen(command, "r")) == NULL)
       perror("popen");
    while((fgets(buf, BUFSIZE, fp)) != NULL)
       printf("%s",buf);

    pclose(fp);

    return buf;
}
Run Code Online (Sandbox Code Playgroud)

c linux

4
推荐指数
2
解决办法
1344
查看次数

Python中的多重继承问题!

为什么c.print_a()输出'B'?

class A(object):
    def __init__(self):
        self.some_name = 'A'

    def print_a(self):
        print self.some_name

class B(object):
    def __init__(self):
        self.some_name = 'B'

    def print_b(self):
        print self.some_name

class C(A, B):
    def __init__(self):
        A.__init__(self)
        B.__init__(self)

if __name__ == '__main__':
    c = C()
    c.print_a()
Run Code Online (Sandbox Code Playgroud)
class A(object):
    def __init__(self, some_name='A'):
        self.some_name = some_name

    def print_a(self):
        print self.some_name

class B(object):
    def __init__(self, some_name='B'):
        self.some_name = some_name

    def print_b(self):
        print self.some_name

class C(A, B):
    def __init__(self):
        A.__init__(self, some_name='AAAAA')
        B.__init__(self, some_name='BBBBB')

if __name__ == '__main__':
    c = C()
    c.print_a()
Run Code Online (Sandbox Code Playgroud)

python multiple-inheritance

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

当我easy_install greenlet我得到"错误:安装脚本退出时出现错误:命令'gcc'失败,退出状态为1"

当我轻松安装greenlet(也是eventlet)时,文件在ubuntu 10.04中说我得到了上面的错误.有谁知道为什么?期待你的帮助!

我已经安装了build-essential

因为我在这里采取格式,所以我粘贴打印出来的消息http://sugelawa.appspot.com/?p=35001

非常感谢!

python linux ubuntu easy-install

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

如何获得iPhone的屏幕位深度?

NSScreenMac OS的Class Reference中,有一种"深度"方法NSSCreen可以获得屏幕的位深度,但在iOS的UIScreen类中并不存在.任何人都知道如何检测屏幕的位深度苹果手机? NSScreenMac OS的类参考

iphone objective-c ios

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

如何放大UIImage以清除像素而不会在iOS中变得模糊?

我需要进行UIImageView支持放大/缩小,最重要的是,当放大图像时,应该看到清晰的大像素,而不是模糊处理的效果,如下图所示.

它应该是这样的:

在此输入图像描述

不应该那样:

在此输入图像描述

我的代码不起作用:

- (void)viewDidLoad {
    [super viewDidLoad];

    self.view.backgroundColor = [UIColor whiteColor];

    imageView = [[ColorPickImageView alloc] initWithImage:self.image];
    imageView.contentMode = UIViewContentModeScaleAspectFit;

    [self addGestureRecognizerToView:imageView];
    [imageView setUserInteractionEnabled:YES];
    [imageView setMultipleTouchEnabled:YES];

    [self.view addSubview:imageView];

    [imageView setTranslatesAutoresizingMaskIntoConstraints:NO];
    NSDictionary *views = NSDictionaryOfVariableBindings(imageView);
    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[imageView]-0-|" options:0 metrics:nil views:views]];
    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[imageView]-0-|" options:0 metrics:nil views:views]];
}

- (void)addGestureRecognizerToView:(UIView *)view
{
    UIPinchGestureRecognizer *pinchGestureRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchView:)];
    [view addGestureRecognizer:pinchGestureRecognizer];
}

- (void)pinchView:(UIPinchGestureRecognizer *)pinchGestureRecognizer
{
    UIView *view = pinchGestureRecognizer.view;
    if (pinchGestureRecognizer.state == UIGestureRecognizerStateBegan || pinchGestureRecognizer.state == UIGestureRecognizerStateChanged) …
Run Code Online (Sandbox Code Playgroud)

core-graphics objective-c uiimageview uiimage ios

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

将dSYM上传到Crashlytics是否安全?

Crashlytics 功能强大,但它会自动将dSYM文件上传到服务器以进行崩溃问题分析,这是否足够安全?

crash objective-c crash-reports ios crashlytics

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

为什么我的Android应用程序(具有root特权)不能访问/ dev / input?

我的应用程序的目的是有根的Android设备,它具有超级用户权限,需要访问该目录/dev/input,但为什么它抛出opendir failed, Permission denied,甚至/dev/input已是chmod777

我使用以下代码获取root特权:

Process root = Runtime.getRuntime().exec("su");
Run Code Online (Sandbox Code Playgroud)

并使用以下代码更改以下权限/dev/input

Shell.runCommand("chmod 777 /dev/input");
Run Code Online (Sandbox Code Playgroud)

以上两个步骤都成功,但是为什么我的应用程序仍无法访问它?通过搜索,有人说应用程序的运行时权限与文件系统中文件的权限无关。Android运行时的权限系统是什么?如何使应用程序能够访问/dev/input

加成:

我的测试环境是Android 5.1.1,代码的主要部分是:

jint Java_com_foo_funnyapp_Native_scanInputDevicesJNI(JNIEnv* env, jclass clazz)
{
    const char *dirname = "/dev/input";

    DIR *dir;
    dir = opendir(dirname); // opendir failed, Permission denied
    if(dir == NULL)
        return -1;

    ......

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

SELinux错误来自 /prog/kmsg

<36>[19700411_05:32:43.957165]@0 type=1400 audit(8631163.939:1105): avc: denied { write } for pid=15706 comm="app_process64_o" name="system@framework@boot.art" dev="mmcblk0p43" ino=442379 scontext=u:r:shell:s0 tcontext=u:object_r:dalvikcache_data_file:s0 tclass=file …
Run Code Online (Sandbox Code Playgroud)

linux android selinux root android-ndk

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

如何使用javascript检查要上传的文件?

我想在上传之前在浏览器端对文件进行校验和,然后在服务器端进行校验和比较,以确保一致性。但是,如何获取文件的纯二进制数据并对其进行校验和?我尝试了下面的方法,但是不起作用:

let fileSelect = document.getElementById('file')
let files = fileSelect.files
let file = files[0]

var r = new FileReader();
r.onload = function(){ console.log(r.result); };
r.readAsArrayBuffer(file);
var file_sha1 = sha1(r.result)
Run Code Online (Sandbox Code Playgroud)

javascript checksum sha1 consistent-hashing

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

如何使用 JavaScript 放大一个点?

我的 web 项目需要div在鼠标滚轮时将鼠标位置周围的元素缩放为锚点,我的灵感来自 @Tata​​rize 在Zoom in a point (using scale and translate) 中的回答,但我无法准确地实现它,它无法围绕鼠标位置进行缩放和平移,有人可以帮忙吗?

window.onload = function() {
    const STEP = 0.05;
    const MAX_SCALE = 10;
    const MIN_SCALE = 0.01;

    const red = document.getElementById('red');
    const yellow = red.parentNode;

    let scale = 1;

    yellow.onmousewheel = function (event) {
        event.preventDefault();
        
        let mouseX = event.clientX - yellow.offsetLeft - red.offsetLeft;
        let mouseY = event.clientY - yellow.offsetTop - red.offsetTop;

        const factor = event.wheelDelta / 120;

        const oldScale = scale;
        scale = scale …
Run Code Online (Sandbox Code Playgroud)

html javascript css

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

为什么C函数不能将正确的参数传递给java?

在我的测试中,我想从C调用Java并传递一个long类型参数,当我使用long类型时,在Java方法中,传入的参数无法正确获取,它始终是4294967297.但是当我尝试使用int类型时一切都很好.有谁知道什么是错的?

JAVA:

public static void test(long num) {
    Log.d("test", "xxxxxxxxxxx:%ld" + String.valueOf(num));
}
Run Code Online (Sandbox Code Playgroud)

C:

void test_jni()
{
    long num = 5000;
    jclass theClass = (*currentJNIEnv)->FindClass(currentJNIEnv, "me/example/something/TestClass");
    if (NULL != theClass) {
        jmethodID mid = (*currentJNIEnv)->GetStaticMethodID(currentJNIEnv, theClass, "test", "(J)V");
        if (mid == 0) return;
        (*currentJNIEnv)->CallStaticVoidMethod(currentJNIEnv, theClass, mid, num);
    }
}
Run Code Online (Sandbox Code Playgroud)

c java java-native-interface android

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