由于昨晚我一直在尝试Rcpp和inline,到目前为止,我真的很喜欢它.但是我C一般都是新手,只能做基本的东西,而且我很难在网上寻找有关功能等方面的帮助.
我正在研究的是一个在全局环境中找到矢量最小值的函数.我提出了:
library("inline")
library("Rcpp")
foo <- rnorm(100)
bar <- cxxfunction( signature(),
'
Environment e = Environment::global_env();
NumericVector foo = e["foo"];
int min;
for (int i = 0; i < foo.size(); i++)
{
if ( foo[i] < foo[min] ) min = i;
}
return wrap(min+1);
', plugin = "Rcpp")
bar()
Run Code Online (Sandbox Code Playgroud)
但似乎应该有一种更简单的方法来做到这一点,而且速度要慢得多 which.max()
system.time(replicate(100000,bar()))
user system elapsed
0.27 0.00 0.26
system.time(replicate(100000,which.min(foo)))
user system elapsed
0.2 0.0 0.2
Run Code Online (Sandbox Code Playgroud)
我俯瞰一个基本的c++或Rcpp执行此功能?如果是这样,我在哪里可以找到这样的功能列表?
我想这个问题与以下内容有关: 我在哪里可以学习如何编写C代码来加速慢速R函数?
但在不同的我不是真正感兴趣的是如何纳入c++ …
我期待读取位于地址302H的值.目的是从硬件(104pc堆栈的一部分)读取输入.当我运行以下代码时出现此错误:Unhandled exception at 0x004134b9 in setOutput.exe: 0xC0000005: Access violation reading location 0x00000302.
#include <stdlib.h>
#define PORTBASE 0x302
int _tmain(int argc, char *argv[])
{
int value;
int volatile * port = (int *) PORTBASE;
printf("port = %d\n", port);
value = *port;
printf("port value = %d\n", value);
}
Run Code Online (Sandbox Code Playgroud)
编辑:
我在寡妇xp下运行这个.我只能在电路板上找到的文档如下
编辑:
从下面的答案中,我可以看到我需要为电路板编写驱动程序.有人能指出我如何这样做的资源?
我正以一种非常直接的方式将文本打印到画布上:
var ctx = canvas.getContext('2d');
ctx.font = "10pt Courier";
ctx.fillText("Hello World", 100, 100);
Run Code Online (Sandbox Code Playgroud)
但是,如何将文本更改为粗体,斜体或两者?有什么建议可以解决这个简单的例子
我正在使用 NDK 5 为 android 开发本机 apk。
我的问题是,如何从本机代码访问外部 SD 卡的写入和读取?
我想配置一个spring集成应用程序,这样如果我在一个通道上放置一些由一条消息表示的任务,那么一组端点中的一个将选择下一个任务并对其进行处理.这将需要一些线程池执行器服务,我想.
我刚刚继承了有超过300个代码的代码:
catch(Exception ex)
{
string s = ex.Message ;
}
Run Code Online (Sandbox Code Playgroud)
下次我遇到写这篇文章的人时,我该怎么办呢?
不过实话说...
这显然是编码恐怖,是程序员可以做的最糟糕的事情之一.我是否应该通过并删除所有这些并查看运行应用程序时的真实情况?你怎么会纠正这个错误?
这是一个WinForms应用程序,由我的组织内部运行约24个用户.
我刚刚写了一个简单的应用程序来学习多线程,我错过了一些东西.我启动一个新线程,执行相对冗长的数据库操作(检查特定站点的用户的SharePoint权限),通常长达十五秒.这就是我创建线程的方法(为简单起见,删除了一些无关的代码):
private void btnSelectSite_Click(object sender, EventArgs e)
{
strSiteURL = txtSiteURL.Text;
tmrProgressTimer.Interval = 1000;
tmrProgressTimer.Enabled = true;
ThreadStart starter = delegate { LoadUsers(strSiteURL); };
Thread t = new Thread(starter);
t.Start();
t.Join();
cboUsers.Items.Clear();
cboUsers.Items.AddRange(list.ToArray());
tmrProgressTimer.Enabled = false;
}
Run Code Online (Sandbox Code Playgroud)
我使用委托在自己的线程中触发LoadUsers,因为LoadUsers需要一个字符串.它填充了一个通用列表(代码中的"列表"),之后我用它来填充组合框.我的理解是,当这个线程处理时,我的UI不应该锁定,就像它在自己的线程上一样; 然而,事实并非如此.在线程完成之前,UI都不会刷新,并且在线程处理期间应用程序被锁定 - 计时器甚至不会触发,尽管它应该每秒钟滴答一次,数据库操作最多需要十五次.有人能告诉我我做错了什么吗?
使用TeamCity编译我的MSBuild XML任务脚本时,它失败了:
[10:43:03]: myWebProject1\ myWebProject 1 .csproj (3s)
[10:43:07]: [ myWebProject1\ myWebProject1 .csproj] _CopyWebApplicationLegacy
[10:43:07]: [_CopyWebApplicationLegacy] Copy
[10:43:07]: [Copy] C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets(131, 5): error MSB3021: Unable to copy file "obj\Release\myWebProject1.dll" to "C:\MSBUILDRELEASE\myWebProject1\\bin\myWebProject1.dll". Could not find file 'obj\Release\myWebProject1.dll'.
Run Code Online (Sandbox Code Playgroud)
当我在本地运行它时,它的工作原理.
当我将本地输出与构建服务器输出进行比较时,构建服务器上缺少文件.就像我的构建服务器输出目录中缺少global.asax文件一样(但是当我在本地编译它时却没有).这是为什么?
这是我目前的MSBuildScript:
<?xml version="1.0" encoding="utf-8"?>
<Project
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ToolsVersion="4.0"
DefaultTargets="Build">
<PropertyGroup>
<OutputDir>C:\MSBUILDRELEASE</OutputDir>
</PropertyGroup>
<ItemGroup>
<ProjectToBuild Include="UtilityApp.sln" >
<Properties>OutputPath=$(OutputDir);Configuration=MSBuildRelease;Platform=x86</Properties>
</ProjectToBuild>
</ItemGroup>
<Target Name="Build">
<MSBuild Projects="@(ProjectToBuild)"/>
<CallTarget Targets="Publish WebProject1" />
<CallTarget Targets="Publish WebProject2" />
</Target>
<Target Name="Publish WebProject1">
<RemoveDir Directories="$(OutputFolder)"
ContinueOnError="true" />
<MSBuild Projects="WebProject1\WebProject1.csproj"
Targets="ResolveReferences;_CopyWebApplication"
Properties="WebProjectOutputDir=$(OutputDir)\WebProject1\; …Run Code Online (Sandbox Code Playgroud) 我正在开发一个Android应用程序,应该能够将视频流式传输到我的网络上的本地服务器,而无需将其存储在SD卡上.
为此,我在C#中使用了一个简单的套接字应用程序来监听特定的IP:PORT
在Android部分,我设置了setOutputFile()这个IP:PORT使用套接字.
此应用程序在Android手机上完美启动,但它不显示预览,当我开始录制时,它会毫无例外地退出.它也不会向网络发送任何数据流.
当我设置setOutPutFile()为SD卡时,它可以正常工作并录制视频.
对于服务器部分,当我从任何其他应用程序(从PC)向同一IP:PORT发送数据时,它会接收数据.
简而言之,我想使用socket进行流媒体建立PC和Android之间的通信通道.
这是我的Android代码:
Socket soc=new Socket("192.168.1.3",8210);
ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(soc);
...
...
// other Recorder setup steps
...
...
Recorder.setOutputFile(pfd.getFileDescriptor()); // working fine for sdcard
Recorder.setPreviewDisplay(holder.getSurface());
Recorder.prepare();
Run Code Online (Sandbox Code Playgroud)
这是我在C#中的服务器应用程序并在PC上运行:
socketForServer = new TcpClient("192.168.1.3", 8210);
NetworkStream networkStream = socketForServer.GetStream();
byte[] rData = new byte[1024];
networkStream.Read(rData, 0, 1024);
...
...
// process rData
...
...
Run Code Online (Sandbox Code Playgroud)
我无法理解这里发生的问题.我正朝着正确的方向前进吗?
我对rails(3)相对较新,并且正在使用CanCan构建一个应用程序,其中有3层用户.
我的能力现在是bog-stock,从cancan docs复制,基本上定义了guest角色和admin角色
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # Guest user
if user.is_admin?
can :manage, :all
else
can :read, [Asana,Image,User,Video,Sequence]
end
end
end
Run Code Online (Sandbox Code Playgroud)
我想添加用户角色.由于我正在创建那个一次性用户模型,我想过使用new_record?确定用户是否已登录.就像是:
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # Guest user
if !user.new_record? and user.is_admin?
can :manage, :all
elsif !user.new_record? and !user.is_admin?
can {registered user-y permissions}
else
can :read, [Asana,Image,User,Video,Sequence]
end
end
end
Run Code Online (Sandbox Code Playgroud)
但是,它感觉不对.似乎有点与实际登录相关,并且担心它是否真正安全.
寻求更优雅的方式来做这个建议.
谢谢!