Knowledge of beans in the field of computer science

Source: Internet
Author: User

Bean knowledge , from Japanese まめちしき . A little knowledge that represents some side corners and is generally inconspicuous. Similar to the cold knowledge in Chinese.

Why Linux underThe default name of the C-language compiled executable file is a.out?

In Linux, using GCC to compile C source code, the default generated executable file name is a.outwithout using the- o option.

Many people may think a is the first letter of the alphabet, representing a in the English alphabet, or α in the Greek alphabet. In fact, the meaning of the so-called a.out is assembleroutput, that is, the assembler outputs .

Understanding the compilation process we should most know that the output of the assembler is the target file (. o is the suffix of the file), not an executable file. The destination file is then linked to an executable binary file (such as a.out).

The reason is because the Unix system was born on the PDP-7 machine, there is no linker. The link work is done before the assembly operation, and the executable is generated directly by the assembler. Later, the linker was invented, stripped of the link operation, and worked after the assembly. But the naming habit is preserved.

Another interesting story about A.out is this:

In the early history of Unix, people who wanted to play games on the system usually ran the game as a a.out to avoid being caught by the system administrator, so some UNIX systems periodically removed all files named a.out every evening.

Basis
    • "C Expert Programming" section 6.1
    • "Beginning Linux programing" 1.2.3 Festival
Directories in Linux / usris the user's abbreviation really?

Many people think that the/usr directory is the user's abbreviation, we know that in Windows C disk is a user directory, which is stored in the subdirectory of each users. Linux, however, corresponds to the/home directory, not the/user directory.

In fact, the meaning of the/usr directory in modern UNIX systems is usersystem resources, which represents the system resource shared by multiple users, including binaries, documents, libraries and so on. Available to every user.

In fact, the original meaning of/usr is actually user, then/USR directory structure is different from the present, like the home/home directory. At that time/usr/jelly and the present/home/jelly are the same meaning, representing the user Jelly home directory. However, after the introduction of the/home directory, it is not recognized as the user's abbreviation.

Basis

Http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html
In the original Unix implementations,/USR was where the home directories of the users were placed (that's to say,/usr/s Omeone was and the directory now known As/home/someone). In current unices,/usr is where User-land programs and data (as opposed to ' system land ' programs and data) are. The name hasn ' t changed, but it's meaning have narrowed and lengthened from "Everything user related" to "user usable progr AMS and Data ". As such, some people may now refer to the directory as meaning ' user System Resources ' and not ' user ' as is originally I Ntended.

Do you know the name of the cat command in Linux?

We should have used the cat command to display the file, but why is this command called cat? A slightly more experienced UNIX user will know that the real use of the cat command is to combine files.

Indeed, the cat command can display multiple files to standard output, which can be combined with multiple files by redirection.

cat file1 file2 > file3

You might think that the cat command is an abbreviation for the English word concatenate(contact connection). This may be a good understanding, but it is not a real situation.

Cat abbreviation from an ancient word catanate, meaning to join a chain, it originates from the Latin catena, is chain (chain) meaning.

Basis

Section 16.8 (end) of the Unix&linux University course

Why is dynamic programming the original English text?

Dynamic programming in China is referred to as the dynamics of planning , but programming itself is not planning, but translated into programming is completely wrong. Because it's a mathematical idea.

The history of the term was this, when Richard Bellman in the Rand Division of the Air Force, and his immediate supervisor hated the Department for Research, even before he could not say the word study. Mathematical research is not allowed. What Bellman was doing was a mathematical study in order not to let the boss find out that he had to make a fuss over the project name and take a Dynamic programming name. It was almost impossible for his research to be felt by others.

Basis

Https://en.wikipedia.org/wiki/Dynamic_programming#History

Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.

Knowledge of beans in the field of computer science

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.