vaxocentrism
/
vak "
soh -
sen "
trizm / [
analogy with "
ethnocentrism "]
A notional
disease said to afflict C programmers who persist in coding
according to certain assumptions that are valid (
especially
under Unix )
on {
VAXen }
but false elsewhere .
Among these are :
1 .
The assumption that dereferencing a null pointer is safe
because it is all bits 0 ,
and location 0 is readable and 0 .
Problem :
this may instead cause an illegal -
address trap on
non -
VAXen ,
and even on VAXen under OSes other than BSD Unix .
Usually this is an implicit assumption of sloppy code
(
forgetting to check the pointer before using it ),
rather than
deliberate exploitation of a misfeature .
2 .
The assumption that characters are signed .
3 .
The assumption that a pointer to any one type can freely be
cast into a pointer to any other type .
A stronger form of
this is the assumption that all pointers are the same size and
format ,
which means you don '
t have to worry about getting the
casts or types correct in calls .
Problem :
this fails on
word -
oriented machines or others with multiple pointer
formats .
4 .
The assumption that the parameters of a routine are stored
in memory ,
on a stack ,
contiguously ,
and in strictly ascending
or descending order .
Problem :
this fails on many RISC
architectures .
5 .
The assumption that pointer and integer types are the same
size ,
and that pointers can be stuffed into integer variables
(
and vice -
versa )
and drawn back out without being truncated or
mangled .
Problem :
this fails on segmented architectures or
word -
oriented machines with funny pointer formats .
6 .
The assumption that a data type of any size may begin at
any byte address in memory (
for example ,
that you can freely
construct and dereference a pointer to a word -
or
greater -
sized object at an odd char address ).
Problem :
this
fails on many (
especially RISC )
architectures better optimised
for {
HLL }
execution speed ,
and can cause an illegal address
fault or bus error .
7 .
The (
related )
assumption that there is no padding at the
end of types and that in an array you can thus step right from
the last byte of a previous component to the first byte of the
next one .
This is not only machine -
but compiler -
dependent .
8 .
The assumption that memory address space is globally flat
and that the array reference "
foo [-
1 ]"
is necessarily valid .
Problem :
this fails at 0 ,
or other places on segment -
addressed
machines like Intel chips (
yes ,
segmentation is universally
considered a {
brain -
damaged }
way to design machines (
see
{
moby }),
but that is a separate issue ).
9 .
The assumption that objects can be arbitrarily large with
no special considerations .
Problem :
this fails on segmented
architectures and under non -
virtual -
addressing environments .
10 .
The assumption that the stack can be as large as memory .
Problem :
this fails on segmented architectures or almost
anything else without virtual addressing and a paged stack .
11 .
The assumption that bits and addressable units within an
object are ordered in the same way and that this order is a
constant of nature .
Problem :
this fails on {
big -
endian }
machines .
12 .
The assumption that it is meaningful to compare pointers
to different objects not located within the same array ,
or to
objects of different types .
Problem :
the former fails on
segmented architectures ,
the latter on word -
oriented machines
or others with multiple pointer formats .
13 .
The assumption that an "
int "
is 32 bits ,
or (
nearly
equivalently )
the assumption that "
sizeof (
int ) ==
sizeof (
long )".
Problem :
this fails on {
PDP -
11s }, {
Intel
80286 }-
based systems and even on {
Intel 80386 }
and {
Motorola
68000 }
systems under some compilers .
14 .
The assumption that "
argv []"
is writable .
Problem :
this
fails in many embedded -
systems C environments and even under a
few flavours of Unix .
Note that a programmer can validly be accused of vaxocentrism
even if he or she has never seen a VAX .
Some of these
assumptions (
especially 2 --
5 )
were valid on the {
PDP -
11 },
the
original {
C }
machine ,
and became endemic years before the VAX .
The terms "
vaxocentricity "
and "
all -
the -
world "
s -
a -
VAX
syndrome '
have been used synonymously .
[{
Jargon File }]
vaxocentrism : /
vak `
soh ·
sen ´
trizm /,
n . [
analogy with ‘
ethnocentrism ’]
A notional disease said to afflict C programmers who persist in coding according to certain assumptions that are valid (
esp .
under Unix )
on VAXen but false elsewhere .
Among these are :
The assumption that dereferencing a null pointer is safe because it is all bits 0 , and location 0 is readable and 0 . Problem : this may instead cause an illegal -address trap on non -VAXen , and even on VAXen under OSes other than BSD Unix . Usually this is an implicit assumption of sloppy code (forgetting to check the pointer before using it ), rather than deliberate exploitation of a misfeature . The assumption that characters are signed . The assumption that a pointer to any one type can freely be cast into a pointer to any other type . A stronger form of this is the assumption that all pointers are the same size and format , which means you don 't have to worry about getting the casts or types correct in calls . Problem : this fails on word -oriented machines or others with multiple pointer formats .The assumption that the parameters of a routine are stored in memory , on a stack , contiguously , and in strictly ascending or descending order . Problem :this fails on many RISC architectures . The assumption that pointer and integer types are the same size , and that pointers can be stuffed into integer variables (and vice -versa ) and drawn back out without being truncated or mangled . Problem : this fails on segmented architectures or word -oriented machines with funny pointer formats .The assumption that a data type of any size may begin at any byte address in memory (for example , that you can freely construct and dereference a pointer to a word - or greater -sized object at an odd char address ). Problem : this fails on many (esp . RISC ) architectures better optimized for HLL execution speed , and can cause an illegal address fault or bus error . The (related ) assumption that there is no padding at the end of types and that in an array you can thus step right from the last byte of a previous component to the first byte of the next one . This is not only machine - but compiler -dependent . The assumption that memory address space is globally flat and that the array reference foo [-1 ] is necessarily valid .Problem : this fails at 0 , or other places on segment -addressed machines like Intel chips (yes , segmentation is universally considered a brain -damaged way to design machines (see moby ), but that is a separate issue ).The assumption that objects can be arbitrarily large with no special considerations . Problem : this fails on segmented architectures and under non -virtual -addressing environments . The assumption that the stack can be as large as memory . Problem : this fails on segmented architectures or almost anything else without virtual addressing and a paged stack . The assumption that bits and addressable units within an object are ordered in the same way and that this order is a constant of nature . Problem : this fails on big -endian machines . The assumption that it is meaningful to compare pointers to different objects not located within the same array , or to objects of different types . Problem :the former fails on segmented architectures , the latter on word -oriented machines or others with multiple pointer formats . The assumption that an int is 32 bits , or (nearly equivalently )the assumption that sizeof (int ) ==sizeof (long ) . Problem : this fails on PDP -11s , 286 -based systems and even on 386 and 68000 systems under some compilers (and on 64 -bit systems like the Alpha , of course ). The assumption that argv [] is writable . Problem : this fails in many embedded -systems C environments and even under a few flavors of Unix . Note that a programmer can validly be accused of vaxocentrism even if he or she has never seen a VAX .
Some of these assumptions (
esp .
2 --
5 )
were valid on the PDP -
11 ,
the original C machine ,
and became endemic years before the VAX .
The terms vaxocentricity and all -
the -
world '
s -
a -
VAX syndrome have been used synonymously .
安裝中文字典英文字典查詢工具!
中文字典英文字典工具:
複製到剪貼板
英文字典中文字典相關資料:
Sign in to Gmail - Computer - Gmail Help - Google Help On your computer, go to Gmail Enter your Google Account email or phone number and password If information is already filled in and you have to sign in to a different account, click Use another account If you get a page that describes Gmail instead of the sign-in page, at the top right of the page, click Sign in
Sign in to Gmail - Computer - Gmail Help - Google Help On your computer, go to gmail com Enter your Google Account email address or phone number and password If information is already filled in and you need to sign in to a different account, click Use another account If you see a page describing Gmail instead of the sign-in page, click Sign in in the top-right corner of the page
Iniciar sesión en Gmail Si llegas a una página en la que se describe Gmail en vez de la página de inicio de sesión, ve a la parte superior derecha y haz clic en Iniciar sesión Iniciar sesión en Gmail Nota: Si inicias sesión en un ordenador público, asegúrate de cerrarla antes de dejar de usar el ordenador
Sign in to Gmail - Android - Gmail Help - Google Help On your Android phone or tablet, open the Gmail app At the top right, tap your Profile picture Add another account Select the type of account you want to add To add your account, follow the on-screen steps Tips: To add Gmail features like spam protection and email categories to your account, link the account with Gmailify Learn about
In Gmail anmelden Öffnen Sie Gmail auf Ihrem Computer Geben Sie die E-Mail-Adresse oder die Telefonnummer und das Passwort Ihres Google-Kontos ein Falls Informationen vorausgefüllt sind, Sie sich aber in einem anderen Konto anmelden möchten, klicken Sie auf Anderes Konto verwenden
Login ke Gmail - Komputer - Bantuan Gmail - Google Help Di komputer Anda, buka Gmail Masukkan email atau nomor telepon dan sandi Akun Google Anda Jika informasi tersebut sudah diisi dan Anda harus login ke akun lain, klik Gunakan akun lain Jika Anda melihat halaman yang menjelaskan Gmail dan bukan halaman login, klik Login di kanan atas halaman tersebut
Fazer login no Gmail Se você vir uma página descrevendo o Gmail, e não a página de login, clique em Fazer login no canto superior direito da página Fazer login no Gmail Dica: se você fizer login em um computador público, não se esqueça de sair do Gmail antes de sair do computador
Use Gmail to access your Google Account If you already have a Google Account and deleted your Gmail account, you can add Gmail to your current Google Account To add Gmail: Go to mail google com Sign in to your Google Account Follow the onscreen information to add Gmail to your account When you add Gmail, your Gmail address will become the primary username on your account
Gmail にログインする Gmail のユーザー名やパスワードを忘れた場合や、アカウントにアクセスできない場合は、Google のガイドに沿って問題を解決してください。 それでもログインできない場合は、Gmail アカウントを復元してください。 アカウントを復元する
Gmail에 로그인하기 Gmail 사용자 이름이나 비밀번호를 잊어버렸거나 계정에 액세스할 수 없는 경우 가이드에 따라 문제를 해결하세요 여전히 로그인할 수 없으면 Gmail 계정을 복구하세요 계정 복구