Translation

(itstool) path: sect2/para

Perhaps we could put the two solutions together and write something like a shell script that would contain some kind of magic rule saying when a source file needs compiling. Now all we need now is a program that can understand these rules, as it is a bit too complicated for the shell.
314/2850
Context English Portuguese (Brazil) State
<prompt>%</prompt> <userinput>kill -ABRT <replaceable>pid</replaceable></userinput> <prompt>%</prompt> <userinput>kill -ABRT <replaceable>pid</replaceable></userinput>
where <parameter><replaceable>pid</replaceable></parameter> is the process ID you looked up. Onde <parameter><replaceable> pid </replaceable></parameter> é o ID do processo que você pesquisou.
This is useful if your program has got stuck in an infinite loop, for instance. If your program happens to trap <symbol>SIGABRT</symbol>, there are several other signals which have a similar effect. Isso é útil se o seu programa ficou preso em um loop infinito, por exemplo. Se o seu programa acontece <symbol> SIGABRT </symbol> há vários outros sinais que têm um efeito similar
Alternatively, you can create a core dump from inside your program, by calling the <function>abort()</function> function. See the manual page of <citerefentry><refentrytitle>abort</refentrytitle><manvolnum>3</manvolnum></citerefentry> to learn more. Alternativamente, você pode criar um core dump dentro de seu programa, chamando o <function> abortar() </function> função. Veja a página de manual do <citerefentry><refentrytitle> abortar </refentrytitle><manvolnum> 3 </manvolnum></citerefentry> aprender mais.
If you want to create a core dump from outside your program, but do not want the process to terminate, you can use the <command>gcore</command> program. See the manual page of <citerefentry><refentrytitle>gcore</refentrytitle><manvolnum>1</manvolnum></citerefentry> for more information. Se você deseja criar um core dump de fora de seu programa, mas não quer que o processo termine, você pode usar o <command> gcore </command> programa. Veja a página de manual do <citerefentry><refentrytitle> gcore </refentrytitle><manvolnum> 1 </manvolnum></citerefentry> Para maiores informações.
Make Faço
What is <command>make</command>? O que é <command> faço </command>
When you are working on a simple program with only one or two source files, typing in Quando você está trabalhando em um programa simples com apenas um ou dois arquivos de origem, digite
<prompt>%</prompt> <userinput>cc file1.c file2.c</userinput> <prompt>%</prompt> <userinput>cc file1.c file2.c</userinput>
is not too bad, but it quickly becomes very tedious when there are several files—and it can take a while to compile, too. não é tão ruim, mas rapidamente se torna muito entediante quando há vários arquivos - e pode demorar um pouco para compilar também
One way to get around this is to use object files and only recompile the source file if the source code has changed. So we could have something like: Uma maneira de contornar isso é usar arquivos de objeto e somente recompilar o arquivo de origem se o código-fonte foi alterado. Então, poderíamos ter algo como:
<prompt>%</prompt> <userinput>cc file1.o file2.o</userinput> … <userinput>file37.c</userinput> … <prompt>%</prompt> <userinput>cc file1.o file2.o</userinput> … <userinput>file37.c</userinput> …
if we had changed <filename>file37.c</filename>, but not any of the others, since the last time we compiled. This may speed up the compilation quite a bit, but does not solve the typing problem. se tivéssemos mudado <filename> file37.c </filename> , mas não nenhum dos outros, desde a última vez que compilamos. Isso pode acelerar bastante a compilação, mas não resolve o problema de digitação.
Or we could write a shell script to solve the typing problem, but it would have to re-compile everything, making it very inefficient on a large project. Ou poderíamos escrever um script de shell para resolver o problema de digitação, mas ele teria que recompilar tudo, tornando-o muito ineficiente em um grande projeto.
What happens if we have hundreds of source files lying about? What if we are working in a team with other people who forget to tell us when they have changed one of their source files that we use? O que acontece se temos centenas de arquivos fonte mentindo? E se estamos trabalhando em uma equipe com outras pessoas que se esquecem de nos dizer quando mudaram um de seus arquivos fonte que usamos?
Perhaps we could put the two solutions together and write something like a shell script that would contain some kind of magic rule saying when a source file needs compiling. Now all we need now is a program that can understand these rules, as it is a bit too complicated for the shell. Talvez pudéssemos juntar as duas soluções e escrever algo como um shell script que contivesse algum tipo de regra mágica dizendo quando um arquivo de origem precisa ser compilado. Agora tudo o que precisamos agora é de um programa que possa entender essas regras, pois é um um pouco complicado demais para o shell
This program is called <command>make</command>. It reads in a file, called a <firstterm>makefile</firstterm>, that tells it how different files depend on each other, and works out which files need to be re-compiled and which ones do not. For example, a rule could say something like <quote>if <filename>fromboz.o</filename> is older than <filename>fromboz.c</filename>, that means someone must have changed <filename>fromboz.c</filename>, so it needs to be re-compiled.</quote> The makefile also has rules telling make <emphasis>how</emphasis> to re-compile the source file, making it a much more powerful tool. Este programa é chamado <command> faço </command> . Ele lê em um arquivo, chamado de <firstterm> makefile </firstterm> , que informa como arquivos diferentes dependem uns dos outros, e descobre quais arquivos precisam ser re-compilados e quais não. Por exemplo, uma regra poderia dizer algo como <quote> E se <filename> fromboz.o </filename> É mais velho que <filename> fromboz.c </filename> , isso significa que alguém deve ter mudado <filename> fromboz.c </filename> então precisa ser recompilado. </quote> O makefile também tem regras para fazer <emphasis> como </emphasis> para re-compilar o arquivo de origem, tornando-se uma ferramenta muito mais poderosa.
They do not use the <filename>MAKEFILE</filename> form as block capitals are often used for documentation files like <filename>README</filename>. Eles não usam o <filename> MAKEFILE </filename> formulário como capitais bloco são frequentemente utilizados para arquivos de documentação como <filename> README </filename>
Makefiles are typically kept in the same directory as the source they apply to, and can be called <filename>makefile</filename>, <filename>Makefile</filename> or <filename>MAKEFILE</filename>. Most programmers use the name <filename>Makefile</filename>, as this puts it near the top of a directory listing, where it can easily be seen.<_:footnote-1/> Makefiles são tipicamente mantidos no mesmo diretório da fonte à qual se aplicam, e podem ser chamados <filename> makefile </filename> , <filename> Makefile </filename> ou <filename> MAKEFILE </filename> . A maioria dos programadores usa o nome <filename> Makefile </filename> , pois isso o coloca perto do topo de uma lista de diretórios, onde pode ser facilmente visto. &lt;_: nota de rodapé-1 /&gt;
Example of Using <command>make</command> Exemplo de uso <command> faço </command>
Here is a very simple make file: Aqui está um arquivo de criação muito simples:
foo: foo.c
cc -o foo foo.c
foo: foo.c
cc -o foo foo.c
It consists of two lines, a dependency line and a creation line. Consiste em duas linhas, uma linha de dependência e uma linha de criação.
The dependency line here consists of the name of the program (known as the <firstterm>target</firstterm>), followed by a colon, then whitespace, then the name of the source file. When <command>make</command> reads this line, it looks to see if <filename>foo</filename> exists; if it exists, it compares the time <filename>foo</filename> was last modified to the time <filename>foo.c</filename> was last modified. If <filename>foo</filename> does not exist, or is older than <filename>foo.c</filename>, it then looks at the creation line to find out what to do. In other words, this is the rule for working out when <filename>foo.c</filename> needs to be re-compiled. A linha de dependência aqui consiste no nome do programa (conhecido como <firstterm> alvo </firstterm> ), seguido de dois pontos, espaço em branco e, em seguida, o nome do arquivo de origem. Quando <command> faço </command> lê esta linha, olha para ver se <filename> foo </filename> existe; se existe, compara o tempo <filename> foo </filename> foi modificado pela última vez para o tempo <filename> foo.c </filename> foi modificado pela última vez. E se <filename> foo </filename> não existe, ou é mais antigo que <filename> foo.c </filename> , então, olha para a linha de criação para descobrir o que fazer. Em outras palavras, esta é a regra para trabalhar quando <filename> foo.c </filename> precisa ser re-compilado.
The creation line starts with a <token>tab</token> (press <keycap>tab</keycap>) and then the command you would type to create <filename>foo</filename> if you were doing it at a command prompt. If <filename>foo</filename> is out of date, or does not exist, <command>make</command> then executes this command to create it. In other words, this is the rule which tells make how to re-compile <filename>foo.c</filename>. A linha de criação começa com um <token> aba </token> (aperte o <keycap> aba </keycap> chave) e, em seguida, o comando que você digitaria para criar <filename> foo </filename> se você estivesse fazendo isso em um prompt de comando. E se <filename> foo </filename> está desatualizado ou não existe <command> faço </command> então executa este comando para criá-lo. Em outras palavras, esta é a regra que diz como re-compilar <filename> foo.c </filename>
So, when you type <userinput>make</userinput>, it will make sure that <filename>foo</filename> is up to date with respect to your latest changes to <filename>foo.c</filename>. This principle can be extended to <filename>Makefile</filename>s with hundreds of targets—in fact, on FreeBSD, it is possible to compile the entire operating system just by typing <userinput>make world</userinput> in the appropriate directory! Então, quando você digita <userinput> faço </userinput> , ele vai se certificar de que <filename> foo </filename> está atualizado com relação às suas alterações mais recentes <filename> foo.c </filename> . Este princípio pode ser estendido a <filename> Makefile </filename> s com centenas de alvos - na verdade, no FreeBSD, é possível compilar todo o sistema operacional apenas digitando <userinput> fazer mundo </userinput> no diretório apropriado!
Another useful property of makefiles is that the targets do not have to be programs. For instance, we could have a make file that looks like this: Outra propriedade útil dos makefiles é que os alvos não precisam ser programas. Por exemplo, poderíamos ter um arquivo make que se parecesse com isso:
foo: foo.c
cc -o foo foo.c

install:
cp foo /home/me
foo: foo.c
cc -o foo foo.c

install:
cp foo /home/me
We can tell make which target we want to make by typing: Podemos dizer qual alvo queremos fazer digitando:
<prompt>%</prompt> <userinput>make <replaceable>target</replaceable></userinput> <prompt>%</prompt> <userinput>make <replaceable>target</replaceable></userinput>
install instalar

Loading…

New source string a year ago
Browse all component changes

Things to check

Consecutive duplicated words

Text contains the same word twice in a row: um

Reset

Mismatched full stop

Source and translation do not both end with a full stop

Reset

Trailing space

Source and translation do not both end with a space

Fix string

Reset

Glossary

English Portuguese (Brazil)
Open Source Project Projeto Open Source FreeBSD Doc

Source information

Source string comment

(itstool) path: sect2/para

Source string location
book.translate.xml:1404
String age
a year ago
Source string age
a year ago
Translation file
books/pt_BR/developers-handbook.po, string 261