小编Sol*_*ong的帖子

如何将Matlab类编译成C lib?

这个问题的起源是从这里如何在c中调用的matlab函数中使用"全局静态"变量.

我试图将"全局变量"封装到一个对象中.但是我不知道如何使用MATLAB Compiler(mcc)将matlab类导出到c ++

为此,我尝试了标准命令

Matlab命令

mcc -W cpplib:Vowel4 -T link:lib Vowel4.m
Run Code Online (Sandbox Code Playgroud)

Matlab脚本

classdef Vowel4

  properties
    x
    y
  end

  methods
    Vowel4
    A
    B
  end

end
Run Code Online (Sandbox Code Playgroud)

生成的lib实际上是独立的函数而不是c ++类.

如何将Matlab中的类编译成c ++类?

我一直在寻找答案,但没有找到答案.

显然matlab命令不适合这种情况.但是我找不到有关将matlab类构建到c ++类中的任何信息.

==========================编辑======================= =

实际的cpp代码如下:@Alan

mclInitializeApplication(NULL, 0);
loadDataInitialize();
soundByCoefInitialize();
loadData(); 

mwArray F(4, 1, mxDOUBLE_CLASS);
float test[4];

for ( ;; ){
    const Frame frame = controller.frame();
    const FingerList fingers = frame.fingers();
    if ( !fingers.empty() ){
        for ( int i = 0; i < 4; i ++ ){ …
Run Code Online (Sandbox Code Playgroud)

matlab matlab-deployment matlab-compiler

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

ExtJS按钮处理程序无法正常工作

单击后不会调用我的ExtJS按钮的处理程序.现在代码看起来像这样.

Ext.define('EDS.view.selector.Container', {
    extend: 'Ext.form.Panel',
    alias : 'widget.selectorcontainer',

    title: 'Selector_V2',
    renderTo: 'input-div',
    layout: 'fit',
    height: '100%',

    items: [
            {
                xtype: 'tabpanel',
                defaults: {
                    bodyPadding: 10
                },
            }
    ],
    buttons: [
        {
            text: 'Reset',
            handler: function(){
                console.log("Reset");
                this.up('form').getForm().reset();
            }
        },
        {
            text: 'Add to constrain',
            handler: this.addConstrain,
        }
    ],

    /*
     * Logic for button "Add to constrain"
     * 
     * Adds an entry into the constrain list describing a person, cost center or an application
     */
    addConstrain: function(button, event){
        console.log('Add_to_constrain clicked');
    } …
Run Code Online (Sandbox Code Playgroud)

scope extjs

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

D3 完全删除“缩放”

我正在尝试从 svg 中完全删除缩放。

zoom = d3.behavior.zoom()
    .x(userNodesScaleX)
    .y(userNodesScaleY)
    .on("zoom", zoomed);
userMapSvg.call(zoom);
Run Code Online (Sandbox Code Playgroud)

这在 SVG 的顶部添加了一个 'rect.background',防止鼠标事件到达 SVG 中的其他元素。

所以我决定完全删除缩放。删除事件,删除该矩形。我怎样才能做到这一点?

当前代码是

removeZoom = d3.behavior.zoom()
    .on("zoom", null);
Run Code Online (Sandbox Code Playgroud)

这不起作用。它只切换事件。

javascript svg zooming d3.js

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

Django 管理员不使用自定义身份验证后端

我有一个自定义用户模型和一个身份验证后端。当我使用 shell 时,身份验证功能工作正常,但是当涉及到管理站点登录时,它就不起作用了。

代码来自官方 Django 文档

设置.py

# Authentication
AUTH_USER_MODEL = 'BBUser.UserInfo'
AUTHENTICATION_BACKENDS = [
    'BBUser.models.AuthBackend',
    'BBUser.models.AdminAuthBackend',
]
Run Code Online (Sandbox Code Playgroud)

模型.py

class UserInfo(AbstractBaseUser, PermissionsMixin):
    openid = models.CharField(max_length=50, null=False, unique=True)
    nickname = models.CharField(max_length=30, null=True)
    ...

    USERNAME_FIELD = 'openid'
    REQUIRED_FIELDS = []
    ...

    objects = UserManager()


class AdminAuthBackend(object):
    def authenticate(self, openid=None, password=None):
        print "custom auth"
        login_valid = ('100' == openid)
        pwd_valid = ('tobeno.2' == password)
        if login_valid and pwd_valid:
            try:
                user = UserInfo.objects.get(openid=openid)
            except UserInfo.DoesNotExist:
                user = UserInfo(openid=openid, password='get from .py')
                user.is_staff = …
Run Code Online (Sandbox Code Playgroud)

python authentication django

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

忽略JNI C++代码中的错误,eclipse

嗨我在android中使用JNI,eclipse.

首先,我尝试使用JNI在OpenCV中运行演示.即使程序在我的Android手机中编译和运行,当我出于好奇心在JNI文件夹中打开C代码时,该项目在该文件中显示无数错误,项目将永远不会编译.

我认为这是因为eclipse无法正确解析C代码,但JNI实用程序可以处理它们.

那么有没有办法在IDE中抑制这些错误以使其编译?

(我预测android会在android开发中经常出现这些问题.)

更新

**** Build of configuration Default for project OpenCV Sample - face-detection ****

G:\progWorkSpace\Android\Tegra\tadp_download\android-ndk-r8d-windows\android-ndk-r8d\ndk-build.cmd 
Install        : libdetection_based_tracker.so => libs/armeabi-v7a/libdetection_based_tracker.so

**** Build Finished ****
Run Code Online (Sandbox Code Playgroud)

CDT成功构建.

eclipse java-native-interface android

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

对于System.drawing.PoinF,c#为null

我正在使用C#进行格式化.现在我想为PointF返回一个null

    /// <summary>
    /// Project the point according to camera position.
    /// </summary>
    /// <param name="p">Point position, in WC</param>
    /// <returns>pixel position</returns>
    public PointF Project(MCvPoint3D32f p)
    {
        //return new PointF(p.x, p.y);
        // Extend p
        Matrix<double> p_ex = new Matrix<double>(3, 1);
        p_ex[0, 0] = p.x;
        p_ex[1, 0] = p.y;
        p_ex[2, 0] = p.z;

        var rst = HomographMatrix * p_ex;
        rst[0, 0] = rst[0,0] / rst[2, 0] * focalLength * scale;
        rst[1, 0] = rst[1, 0] / rst[2, 0] * focalLength * …
Run Code Online (Sandbox Code Playgroud)

c# system.drawing nullable

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

我可以在一个Matlab会话中更改脚本而另一个正在运行该脚本吗?

我有两个并行运行的Matlab会话.

为方便起见,我只是将每次运行中硬编码的参数更改为脚本.

所以我的问题是,当第一个Matlab会话运行该脚本时,我可以更改脚本吗?在我更改并保存了那个脚本后,第一个Matlab会话是否会根据脚本的原始版本运行?

我有多个相互调用的脚本.这种情况会更复杂吗?

如果答案是肯定的,那么在我看来,对于每次运行,Matlab都会制作所有脚本的临时副本并运行该副本,而不管硬盘更改如何.

parallel-processing matlab

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