“Checked”和“Free”是怎么来的?

导读:

  对微软技术比较了解的可能知道Windows的同一个版本号的build经常被分为chk和fre,chk表示Checked,fre表示Free。主要的区别在于,checked build有traces和asserts,而free build没有。

  但是,checked和free是怎么出现的呢?因为传统的用词一般是debug和retail(或者release)。

  当Windows NT还处在开发阶段的时候,开发组的人还在用“debug”和“retail”。Debug和Retail的不同在于编译时的选项:

  Compiler Optimization:开、关

  Debug Traces:开、关

  Assertions:开、关

  Sanity checks:开、关

  传统来说,Debug是“Optimization:关,Traces:开,Assertions:开”,Retail是“O:开,T:关,A:关”。后来,NT团队加入了Sanity checks的选项。本来,Sanity check在内部版本中有,在发布的时候会移除掉。

  于是,NT的团队就有了“O:开,T:开,A:开,S:开”,“O:开,T:关,A:关,S:开”和“O:开&#
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在以下代码中,不删除已有的东西之外,加入登录注册的按钮并且可以跳转到登录注册界面,没登录的时候自动判断用户是否登录 <?php require './common/init.php'; require './common/function.php'; // 获取当前页码 $page = max(input('get', 'page', 'd'), 1); // 每页显示的条数 $size = 4; $sql = 'SELECT count(*) FROM `wish`'; if (!$res = mysqli_query($link, $sql)) { exit("SQL[$sql]执行失败:" . mysqli_error($link)); } $total = (int) mysqli_fetch_row($res)[0]; // 查询所有愿望 $sql = 'SELECT `id`,`name`,`content`,`time`,`color` FROM `wish` ORDER BY `id` DESC LIMIT ' . page_sql($page, $size); if (!$res = mysqli_query($link, $sql)) { exit("SQL[$sql]执行失败:" . mysqli_error($link)); } $data = mysqli_fetch_all($res, MYSQLI_ASSOC); mysqli_free_result($res); // 查询结果为空时,自动返回第1页 if (empty($data) && $page > 1) { header('Location: ./index.php?page=1'); exit; } // 编辑或删除愿望 $id = max(input('get', 'id', 'd'), 0); $action = input('get', 'action', 's'); if ($id) { $password = input('post', 'password', 's'); $sql = 'SELECT `name`,`content`,`color`,`password` FROM `wish` WHERE `id`=' . $id; if (!$res = mysqli_query($link, $sql)) { exit("SQL[$sql]执行失败:" . mysqli_error($link) . $sql); } if (!$edit = mysqli_fetch_assoc($res)) { exit('该愿望不存在!'); } mysqli_free_result($res); $checked = isset($_POST['password']) || empty($edit['password']); if ($checked && $password !== $edit['password']) { $tips = '密码不正确!'; $checked = false; } // 删除愿望 if ($checked && $action == 'delete') { $sql = 'DELETE FROM `wish` WHERE `id`=' . $id; if (!mysqli_query($link, $sql)) { exit('SQL执行失败:' . mysqli_error($link)); } header('Location: ./index.php'); exit; } } mysqli_close($link); require './view/index.html';
06-09
好的,我会尽力回答你的问题。首先,你需要在HTML中添加登录注册的按钮,并为它们添加相应的CSS样式来美化它们的外观。比如,你可以在HTML中添加两个按钮,一个是“登录”,一个是“注册”,并为它们添加相应的class和id,方便后面使用JavaScript来操作。 接着,你需要在后端代码中实现用户登录和注册的功能。你可以使用数据库来存储用户的信息,并且在用户登录后将其信息存储到session中。在每个需要用户登录才能访问的页面中,你需要判断用户是否已经登录,如果没有登录则跳转到登录页面。 在每个需要用户登录才能访问的页面中,你还可以添加一个登录状态的标识,比如用户头像或者用户名,方便用户了解自己是否已经登录。如果用户已经登录,则显示用户头像或者用户名,如果用户没有登录,则显示“未登录”。 最后,你需要为登录和注册按钮添加相应的事件处理程序,比如点击登录按钮时跳转到登录页面,点击注册按钮时跳转到注册页面。你可以使用JavaScript来实现这些功能,比如使用window.location.href来跳转到不同的页面。 以下是示例代码,仅供参考: ```php // 若用户未登录,则跳转到登录页面 if (!isset($_SESSION['user_id'])) { header('Location: ./login.php'); exit; } // HTML代码中添加登录和注册按钮 <div class="login-btn" id="login">登录</div> <div class="register-btn" id="register">注册</div> // JavaScript代码中为按钮添加事件处理程序 document.getElementById('login').addEventListener('click', function() { window.location.href = './login.php'; }); document.getElementById('register').addEventListener('click', function() { window.location.href = './register.php'; }); ``` 希望这些信息可以帮助你实现你的需求,如果还有其他问题,请随时提出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值