Запишите C как s-выражения

Я хочу записать C в s-выражениях и использовать макросы времени компиляции. Кто-либо знает о чем-нибудь, что делает это? Это должно перевести s-выражения в стандарт C.

9
задан Ollie Saunders 14 January 2010 в 12:51
поделиться

3 ответа

В алмазной задаче класс D неявно наследует виртуальный метод от класса A. Для его вызова класс D вызывал бы:

A::foo()

Если оба класса B и C переопределяют этот метод, то возникает проблема, из-за которой фактически вызывается.

Однако во втором примере это не так, так как класс D должен быть явно состояние, которое называлось:

B::foo()
C::foo()

Так что проблемы на самом деле не те. В алмазной задаче вы ссылаетесь не на производные классы, а на их базовый класс, отсюда и неоднозначность.

Так я все равно понимаю это.

Обратите внимание, что я иду из фона C++.

-121--1500725-

Некоторые советы по разогреву сценариев:

http://www.andrewconnell.com/blog/archive/2006/08/21/3882.aspx

Дополнительная информация на сайте IIS:

http://blogs.iis.net/steveschofield/archive/2009/05/30/application-pool-warm-up.aspx

Ознакомьтесь с последними новостями в разделе «Автоматический запуск веб- Прикладной» здесь:

http://www.asp.net/LEARN/whitepapers/aspnet4/default.aspx

-121--2586073-

Как вы имеете в виду? Что-то в соответствии с:

(c-expression 
  (int main ((int argc) ((array (pointer char)) argv)
    (block
      (printf "%d arguments\n" argc)
      (if (argc >= 1)
        (printf "The first arg is %s\n" (ref argv 1)))
      (return 0))))
=>
"int main (int argc, char *argv[])
{
  printf("%d arguments\n", argc);
  if (argc >= 1)
    printf(The first arg is %s\n", argv[1]);
  return 0;
}

Если это так, да, это определенно выполнимо. Однако это не совсем тривиально.

2
ответ дан 4 December 2019 в 19:33
поделиться

Возможно, вам нужно что-то вроде ECL, которая компилирует Common Lisp в C.

.
2
ответ дан 4 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: