小编Mar*_*c C的帖子

Public Perforce开源存储库?

虽然有许多使用CVS,SVN和git的开源存储库,但我想知道Perforce是否有任何内置,因为我很高兴在家里使用它多年来的CM.

Perforce提供了一个公共软件仓库,但那里托管的项目似乎强烈面向Perforce.我正在做的工作与Perforce无关,我只喜欢他们的产品.该公司提供托管开源项目的免费许可,但我没有兴趣在网上维护我自己的服务器.

version-control perforce repository

8
推荐指数
1
解决办法
1507
查看次数

在XML中包装任意XML

我需要在包装XML文档中嵌入任意(语法上有效)的XML文档.嵌入的文档应被视为纯文本,在解析包装文档时不需要是可解析的.

我知道" CDATA技巧 ",但如果内部XML文档本身包含CDATA段,我就不能使用它,我需要能够嵌入任何有效的XML文档.任何关于实现这一点的建议 - 或解决CDATA限制 - 将不胜感激.

xml xml-serialization

6
推荐指数
2
解决办法
2万
查看次数

如何在Ada中完全快速地读取二进制文件?

我想读取几MB的二进制文件的内容并将其存储到缓冲区中.这是我的函数原型(如果需要我可以更改它):

procedure GET_BIN_CONTENT_FROM_PATH(PATH    : in UNBOUNDED_STRING;
                                    CONTENT : out UNBOUNDED_STRING);
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经尝试了两种方法,都使用Direct_IO包.在第一种方法中,我正逐字逐句地阅读文件; 它工作,但它非常缓慢.为了加快这个过程,我尝试用MB读取文件MB:

procedure GET_BIN_CONTENT_FROM_PATH (PATH    : in UNBOUNDED_STRING;
                                     CONTENT : out UNBOUNDED_STRING) is

   BIN_SIZE_LIMIT : constant NATURAL := 1000000;
   subtype FILE_STRING is STRING (1 .. BIN_SIZE_LIMIT);
   package FILE_STRING_IO is new ADA.DIRECT_IO (FILE_STRING);
   FILE : FILE_STRING_IO.FILE_TYPE;
   BUFFER : FILE_STRING;

begin
   FILE_STRING_IO.OPEN (FILE, MODE => FILE_STRING_IO.IN_FILE,
                        NAME => TO_STRING (C_BASE_DIR & PATH));
   while not FILE_STRING_IO.END_OF_FILE (FILE) loop
      FILE_STRING_IO.READ (FILE, ITEM => BUFFER);
      APPEND (CONTENT, BUFFER);
   end loop;
   FILE_STRING_IO.CLOSE (FILE);
end GET_BIN_CONTENT_FROM_PATH;
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果文件中剩余少于1MB,似乎不会发生READ操作.结果,大文件(> …

io binaryfiles file ada

4
推荐指数
1
解决办法
2659
查看次数

关于ADA中受保护的数据对象

我是Ada的新手,但对于一般的编程并不陌生.我有受保护的数据对象的问题.正如我从示例和书中所理解的那样,您可以像对待任务一样调用受保护数据对象中的成员.

这是我的代码:

procedure ass4 is

   protected type Signal_Object is
      entry Wait;
      procedure Signal;
      function Is_Open return Boolean;
   private
      Open : Boolean := False;
   end Signal_Object;

   protected body Signal_Object is

      entry Wait when Open is
      begin
         Open := False;
      end Wait;

      procedure Signal is
      begin
         Open := True;
      end Signal;

      function Is_Open return Boolean is
      begin
         return Open;
      end Is_Open;

   end Signal_Object;
begin

Signal_Object.Signal;

end;
Run Code Online (Sandbox Code Playgroud)

但是编译器不喜欢这个调用Signal_Object.Signal;,我得到以下错误

invalid use of subtype mark in expression or call
Run Code Online (Sandbox Code Playgroud)

那我错过了什么?

ada

3
推荐指数
1
解决办法
3385
查看次数

一个Ada程序中的多个随机类型?

在我的Ada程序中,我想创建两种随机类型:范围内的随机整数和我定义的随机类型.在我的解释中,我有:

type servizio is (piscina, spa, entrambi);
type tempo is range 2..5;
Run Code Online (Sandbox Code Playgroud)

我试着创建随机实例如下:

package servizio_random is new Ada.Numerics.Discrete_Random(servizio);
use servizio_random;
G : Generator;
Run Code Online (Sandbox Code Playgroud)

package tempo_random is new Ada.Numerics.Discrete_Random(tempo);
use tempo_random;
Run Code Online (Sandbox Code Playgroud)

我想在我的主要任务中使用随机的"servizio",而在特定的任务(task type cliente (ID: cliente_id; tipo: servizio);)中随机的"节奏" .我的问题是:怎么做?我需要多个发电机还是只需一个?我试图将所有代码放在主要任务中但我得到的错误是生成器不可见(可能是因为我把两个"使用").此外,我试图将"节奏"随机地放在客户任务中并定义另一个生成器(在任务的范围内),但没有成功.如何使用函数Random(G)并选择使用随机类型("cliente"或"tempo")?这是怎么回事?谢谢.

random ada

1
推荐指数
1
解决办法
95
查看次数

CS和CSMap是什么意思?

我对Ada很新,我在下面看到Ada示例代码可以解释它的作用,

--
-- An array of array (which is different from a 2-d array).
--
with Gnat.Io; use Gnat.Io;
procedure Arr4 is
    type CS is (G_Wiggins, M_Wiggins, Bennet, Woodall);
    type CSMap is array (CS) of Integer;
    A: array (1..3) of CSMap :=((4, 8, 17, 34),(9, 11, 3, -2),(6, 21, 2, 18));
    I: Integer;
    P: CS;
    Row: CSMap;
begin
    -- Print it the usual way.
    for I in 1..3 loop
        for P in CS loop
            Put(A(I)(P));
            Put(" ");
        end loop;
        New_Line; …
Run Code Online (Sandbox Code Playgroud)

ada

0
推荐指数
1
解决办法
75
查看次数