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 .
安装中文字典英文字典查询工具!
中文字典英文字典工具:
复制到剪贴板
英文字典中文字典相关资料:
如何玩 Bing 主页测验并赢得奖励 必应首页测验 (也叫 每日测验)是微软必应搜索多年以来的经典功能。 它通过互动问答让用户挑战各种主题,包括历史、科学、娱乐、体育等等。 每天都会推出新题目,既能激励用户参与,又能考验你的常识。 这个测验的最大优点就是简单——无论是学生还是职业人士都能轻松参与。 设计得很友好,即使你的知识基础不深,也能玩得开心。 怎么玩必应首页测验? 想体验这个测验,你可以用任何浏览器,具体显示效果可能会有差异。 操作流程如下: 首先,如果出现“介绍新必应”的提示,关闭它以显示选项。 只需将鼠标悬停在 Q图标 上,就能看到测验题目了。 如果Q图标没有显示,可以试试将鼠标移到搜索框下方。 访问后,按照以下步骤操作: 将鼠标悬停在Q图标上,即可显示测验题目和多个答案选择。
如何玩 Bing 主页测验并赢得 Microsoft 奖励 - The Filibuster Blog Bing 主页测验是 Bing 主页上提供的每日琐事测验,用户可以通过回答问题获得奖励。 如何通过 Microsoft Rewards 提高我的收入潜力? 除了测验之外,您还可以通过完成 Microsoft 提供的其他任务来获得奖励,例如使用 Edge 浏览器和回答调查。
Bing homepage quiz - Bing - Bing Prototypes Microsoft’s Bing homepage now features a new daily quiz which is intended to drive engagement and broaden the horizons of Bing users with trivia
Bing Homepage Quiz: Play Daily and Test Your Knowledge The Bing Homepage Quiz is an interactive trivia game featured on Bing’s homepage Every day, players get to answer a set of questions tied to fascinating facts, current events, or the day’s featured homepage image
Bing Homepage Quiz - Play Bing Quiz Today The Bing Homepage Quiz is a daily trivia game featured on Bing’s homepage It challenges users with multiple-choice questions inspired by the day’s homepage image, covering topics like geography, history, science, and pop culture
Bing Homepage Quiz: Todays Viral Quiz for Curious Minds - Weekly Quiz The Bing Homepage Quiz is an interactive online quiz featured directly on Bing’s homepage Launched to inspire curiosity and learning, this daily quiz connects its questions to the stunning background images showcased on Bing’s homepage
How to Play Bing Homepage Quiz and Win Microsoft Rewards In this guide, you will learn how to participate in the Bing Homepage Quiz to test your knowledge and earn Microsoft Rewards This tutorial will walk you through the steps needed to access the quiz, answer questions, and troubleshoot common issues if the quiz is not available
Bing Homepage Quiz Answers Today (Updated Daily) Welcome to your daily source for Bing Homepage Quiz Answers Here, you’ll find the correct answers to today’s Bing Trivia Quiz, updated every morning So don’t forget to bookmark this page for daily updates! Bing brings new quiz questions almost every day, commonly known as Bing Trivia Questions You have to select the correct answer from
How to Play Bing Homepage Quiz: A Step-by-Step Guide - TechPlusGame The Bing homepage quiz is a way to test your knowledge, learn new facts, and have fun while doing it With a variety of quiz categories, multiplayer mode, and daily challenges, it offers an engaging and interactive experience for users of all ages
如何玩 Bing 主页测验并获胜? Bing 主页测验是 Bing 推出的最古老的功能之一。 它也被称为 Bing 每日测验 并属于 Bing 搜索引擎。 它在 Bing 主页上提供每日测验,向用户询问一个或一组与全球范围内的各种主题相关的问题,例如科学、娱乐、历史、体育等。