我正在使用带有10K RAM的MSP430芯片.如果我超过5k的RAM使用量,它永远不能进入main().init代码调用__data20_memzero
清除已用RAM空间.
它看起来像是通过内存递增并清除字节直到R14 = R12.R14是0x34B4.但是在重新启动并重新开始之前,R12的最大值为0x2c86.我通过调试器手动关闭了看门狗,它开始运行就好了.我不能认为这是正常的.知道如何解决这个问题吗?
我有一个UIView从缓冲区获取数据(即更改)并绘制它.我希望屏幕以10Hz的频率运行.UIView被称为窗格,这就是我在ViewController中调用它的方式:
//create graphics to display data
GraphPane pane = new GraphPane ();
pane.Frame = UIScreen.MainScreen.Bounds;
Add (pane);
//setup timer to update pane
NSTimer timer = NSTimer.CreateRepeatingTimer (0.1, delegate {pane.SetNeedsDisplay ();});
Run Code Online (Sandbox Code Playgroud)
这不起作用(从不调用Pane.Draw),我没有找到一个如何做到这一点的好例子.任何建议表示赞赏.
我还没有找到关于 C# 的帖子。有什么办法可以做到这一点吗..
class parent {
public parent() { }
}
class child : parent {
public child() { }
}
class Program {
static void Main(string[] args) {
parent p = new parent();
child c = (child)p;
}
}
Run Code Online (Sandbox Code Playgroud)
我想要这样做的原因是向通过调用函数创建的对象添加一些方法(UIGraphics.GetCurrentContext())
。
这是一个奇怪的问题.如果我尝试将统一颜色传递给片段着色器,则会出现编译错误
uniform vec4 uniformColor;
void main(){
gl_FragColor = uniformColor;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我将相同的均匀颜色传递给顶点着色器,然后通过变化将其传递给片段着色器,那么它可以正常工作.
attribute vec4 position;
uniform mat4 matrix;
uniform vec4 uniformColor;
varying vec4 fragmentColor;
void main()
{
gl_Position = matrix * position;
fragmentColor = uniformColor;
}
Run Code Online (Sandbox Code Playgroud)
和
varying lowp vec4 fragmentColor;
void main()
{
gl_FragColor = fragmentColor;
}
Run Code Online (Sandbox Code Playgroud)
这是在iOS上.
我有点困惑,因为从网上复制和粘贴示例会给我带来错误.
我希望有一些对象可以添加到C#中的checkedListBox中,并让对象能够生成自己的列表中显示的字符串.我找到了一个我想在visual basic中做的例子.
但是,我无法弄清楚如何在c#中做到这一点.我试图实现自己的类:
public class Device {
String s;
public Device() {
s = new String("test".ToCharArray());
}
public String toString() {
return s;
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,它会在列表中显示"WindowsFormsApplication2.Device",而不是测试..
任何建议,将不胜感激.
谢谢,Reza
ps是否可以在核对表框中显示每个条目的文本和进度条?
我有一个包含字段的有序结构..
[StructLayout(LayoutKind.Explicit)]
public unsafe struct RunBlock_t {
[System.Runtime.InteropServices.FieldOffset(0)] public fixed byte raw[512];
}
Run Code Online (Sandbox Code Playgroud)
如果我在一个函数内声明这个并想要使用指针,它工作正常..
{
RunBlock_t r = new RunBlock_t();
for (int i=0; i<512; i++) r.raw[i]=0;
}
Run Code Online (Sandbox Code Playgroud)
但是如果我在范围之外声明变量,则需要一个固定的实现
RunBlock_t r;
{
r = new RunBlock_t();
fixed (byte* ptr = r.raw) for (int i=0; i<510; i++) ptr[i]=0;
}
Run Code Online (Sandbox Code Playgroud)
为什么这种行为上的差异?
---编辑-----
只想再次说明任何其他排列都不起作用.
unsafe void foo() {
RunBlock_t r = new RunBlock_t();
fixed (byte* ptr = r.raw) for (int i = 0; i < 512; i++) ptr[i] = 0;
}
Run Code Online (Sandbox Code Playgroud)
生成您不能使用fixed语句获取已修复表达式的地址,也不能编译. …
我有一个对象
class foo {
public int bar;
public string s;
}
Run Code Online (Sandbox Code Playgroud)
那是在字典里
Dictionary<String, foo> mm = new Dictionary<String, foo>();
Run Code Online (Sandbox Code Playgroud)
我想要使用LINQ来获取所有values
的dictonary并返回所有"bar"变量的列表.我认为这应该很容易使用linq,但我没有设法fina相关的例子.
public int[] getList() {
return mm.Values.bar <- something like that but with linq
}
Run Code Online (Sandbox Code Playgroud) 可能的重复:
公共字段与自动属性
我认为这个问题会在某个地方得到解答,但我在通常的地方找不到它。我想知道这样做有什么好处
private int _foo;
public int foo {get {return _foo;} set{_foo = value;}}
Run Code Online (Sandbox Code Playgroud)
或者
public int foo {get; set;}
Run Code Online (Sandbox Code Playgroud)
刚刚超过
public int foo;
Run Code Online (Sandbox Code Playgroud)
如果需要更复杂的操作,我可以看到好处,但是对于像这样的简单情况有什么好处呢?
我已经尝试过在python中只向一个文件写一个字节的所有内容.
i = 10
fh.write( six.int2byte(i) )
Run Code Online (Sandbox Code Playgroud)
将输出'0x00 0x0a'
fh.write( struct.pack('i', i) )
Run Code Online (Sandbox Code Playgroud)
将输出'0x00 0x0a 0x00 0x00'
我不明白为什么这么难做.
我见过很多人都有问题,因为他们没有将活动添加到清单文件中.我自己也遭受了这种痛苦.这看起来像是一个简单/常见的问题,但我不知道我应该如何从eclipse IDE中解决这个问题.eclipse的调试输出是完全无用的还是我缺少的东西?
c# ×6
android ×1
c ×1
checklistbox ×1
dictionary ×1
eclipse ×1
embedded ×1
filehandle ×1
fixed ×1
get ×1
glsl ×1
iar ×1
ios ×1
linq ×1
msp430 ×1
nstimer ×1
object ×1
objective-c ×1
oop ×1
pointers ×1
python ×1
set ×1
startup ×1
subclass ×1
tostring ×1
uniform ×1
varying ×1
winforms ×1
writing ×1
xamarin ×1