在询问手动管理CLR内存的过程中,我意识到我知之甚少.
我知道当你退出托管上下文时,CLR会在堆栈上放置一个'cookie',这样垃圾收集器就不会破坏你的内存空间; 但是,在我读过的所有内容中,我都假设您正在调用一些用C语言编写的库.
我希望在托管上下文之外的C#中使用我的应用程序的整个写层来管理低级别的数据.然后,我想从托管图层访问此图层.
在这种情况下,我的Unmanaged C#代码是否会编译为IL并在CLR上运行?这是如何运作的?
我正在尝试制作一个基本的倒数计时器。老实说,我通过教程获得了大部分内容,所以我不完全理解它的工作原理,但我已经尝试了几个小时来找到答案,但我不知道还能在哪里看。
在 TimeUnit 之后,我在底部收到一个“无法解析符号”。例如:毫秒、秒、分钟。
package com.dukehatz.dev.bwexercise;
import android.os.CountDownTimer;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import org.w3c.dom.Text;
public class Dips extends ActionBarActivity {
TextView CountdownTimer;
Button TimeStart, TimeReset;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dips);
TimeStart = (Button) findViewById(R.id.TimeStart);
TimeReset = (Button) findViewById(R.id.TimeReset);
CountdownTimer = (TextView) findViewById(R.id.CountdownTimer);
CountdownTimer.setText("5:00.000");
final CounterClass timer = new CounterClass(100000, 1000);
TimeStart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
timer.start();
}
});
}
public class CounterClass extends …Run Code Online (Sandbox Code Playgroud)