База ответов ИНТУИТ

Разработка компиляторов

<<- Назад к вопросам

С помощью какого атрибута в данном примере:
using System.Runtime.InteropServices;public class AppMain {  [DllImport("user32.dll")]  public static extern int MessageBoxA(int handle, string message,    string caption,int flags);  public static void Main(){    MessageBoxA(0,"Hello World","Native Message Box",0);  }  [conditional("DEBUG")]   public static void SayHello() {     Console.WriteLine("Hello, World!"); return;   }}
обеспечивается взаимодействие с функцией MessageBoxA из Win32 API:

(Отметьте один правильный вариант ответа.)

Варианты ответа
SayHello
conditional
caption
DllImport(Верный ответ)
Похожие вопросы
В данном примере:
using System; public delegate void EventHandler (string strText);class EventSource {  public event EventHandler TextOut;  public void TriggerEvent() {     if (TextOut != null) TextOut("Event triggered..."); }}class TestApp {  public static void Main() {    EventSource evsrc = new EventSource();    evsrc.TextOut += new EventHandler(CatchEvent);  evsrc.TriggerEvent();    evsrc.TextOut -= new EventHandler(CatchEvent);  evsrc.TriggerEvent();    TestApp theApp = new TestApp();    evsrc.TextOut += new EventHandler(theApp.InstanceCatch);     evsrc.TriggerEvent();  }public static void CatchEvent(string strText) { WriteLine(strText); }public void InstanceCatch(string strText) { WriteLine("Instance "+strText); }
происходят:
Следующая программа:
using System;class Fib{   public static void Main (String[] args)   {      int a = 1, b = 1;      for (int i = 1; i != 10; ++i)      {         Console.WriteLine (a);         int c = a + b;         a = b; b = c;      }   }}
вычисляет:
В данном примере:
public static void Main() {  Int32 v = 5;  Object o = v;  v = 123;  Console.WriteLine (v + ", " + (Int32) o);}
операция упаковки производится:
Данная программа:
class LowLevelSample {    public static void Run() {	int i;	i = 0;	try {	   Start:             if (i == 10) throw new Exception();             Console.WriteLine (i);             i = i + 1;             goto Start;	}	catch (Exception) {           Console.WriteLine ("Finished");	}    }}
может использоваться в качестве примера:
При таком описании класса:
public class Matrix {	public const int n = 10;	public int[,] elements = new int[n,n];	public int this[int i, int j]	{		get { return elements[i,j]; }		set { elements[i,j] = value; }	}}
допустимо следующее использование:
В данном примере:
void DumpHrefs(String inputString) {   Regex r;   Match m;   r = new Regex("href\\s*=\\s*(?:\"(?<1>[^\"]*)\"|(?<1>\\S+))",        RegexOptions.IgnoreCase|RegexOptions.Compiled);   for (m = r.Match(inputString); m.Success; m = m.NextMatch())   {     Console.WriteLine("Found href " + m.Groups[1] + " at "     + m.Groups[1].Index);   } } 
класс Regex:
В данном примере:
struct S {int a; int b};int F (int n, struct S * v){int i, s = 0;for (i=0; i<n; i++){	int q = (v+i)->a - (v+i)->b; --- 1	if (q < 0) s += (v+i)->a + (v+i)->>b;  --- 2else (v+i)->b = q;(v+i)->a = (v+i)->b;   --- 3}return s;}
эквивалентны следующие вхождения выражения (v+i)->b:
Данный пример:
private int m_stateOfVeryCriticalResource;public int stateOfVeryCriticalResource {  get { if (IsAllowedUser())            return m_stateOfVeryCriticalResource; }  set { if (IsAdmin())            m_stateOfVeryCriticalResource = value; }}...stateOfVeryCriticalResource = vcrCompletelyScrewedUp;
позволяет проверить достаточность полномочий запрашивающего приложения:
В данном примере:
goto (I, X) {   J={};         for (каждой ситуации [A->w.Xv] из I) {      J+=[A->wX.v];   }   return closure (J);}
происходит:
Данная функция:
int yylex (void){int ch;while ((ch = getchar ()) == ' ');if (isdigit (ch)){ungetc (ch, stdin); scanf (%i, &yylval);return NUMBER_LC;}return ch;}
вычисляет следующую пару значений: