Sponsored Content
Full Discussion: Register variables
Top Forums Programming Register variables Post 30687 by Perderabo on Friday 25th of October 2002 09:07:46 AM
Old 10-25-2002
No one can give you an example where it is imperative to use the register keyword. It is never imperative. It never was. It never will be.

An example of where is might be useful is something like:

Code:
register int i;
register int tot;
int table[1000];
tot=0;
for(i=0; i<1000; i++)
    tot += table[i];

The idea is that if i stays in a register we can save some time. We don't want to store i back in memory after it gets incremented in the "for" statement and then read it back to use in the next statement. Same deal with tot. We don't want to store it in memory each iteration just to read it back so that we can add to it again.

But to make the above code actually useful, you must compile it with a very old compiler. Modern compilers will figure this out by themselves.

And you really need to be an assembler programmer to fully grasp this. You need to understand what a register is. And that machine language instructions move data between registers and memory. So the books to read are those on assembly language programming. Mastering assembler should clear this right up.
 

9 More Discussions You Might Find Interesting

1. Forum Support Area for Unregistered Users & Account Problems

Can't register

I tried registering, but no matter what email address I provide, it says not a valid address and not the same in confirm. I tried many times, but no go. I thought I had already registered as Sully but even that didn't like my email address for password info. Of course, that could be someone else... (2 Replies)
Discussion started by: Not registered
2 Replies

2. Forum Support Area for Unregistered Users & Account Problems

Not able to register

I tried my best to register myself on unix.com but i am not lucky, can you pls give me instruction. (1 Reply)
Discussion started by: Kuldeep_Sngh333
1 Replies

3. Forum Support Area for Unregistered Users & Account Problems

Cant register

Registration denied. Sorry, The UNIX and Linux Forums runs an active policy of not allowing spammers. Please contact us via by posting in this forum if you believe this is in error What's with this? Tried 2 email accounts in case your forum blocks either. (1 Reply)
Discussion started by: Diagonal
1 Replies

4. Forum Support Area for Unregistered Users & Account Problems

Can not register

I need help from the scripting threads and want to register. I tried it several times, but I was all the time rejected, because of your spam policy. I do what you have written, but I wasn't still able to register. (1 Reply)
Discussion started by: ScAr
1 Replies

5. Forum Support Area for Unregistered Users & Account Problems

I can't register

Hello admin, I come from Vietnam, it's in blocked country list. Can you help me to register I want to register with following information: Username: bojankikrick Email: <removed> Thanks very much! (1 Reply)
Discussion started by: Unregistered
1 Replies

6. Forum Support Area for Unregistered Users & Account Problems

Can't register

I am in China. China is in the blocked country list. I can't register. And I don't have a static ip. Can u help me to fix it. I want to register with following information: Username:liuchengzhang email:<removed> Thanks! (1 Reply)
Discussion started by: liuchengzhang
1 Replies

7. Forum Support Area for Unregistered Users & Account Problems

Cannot able to Register!

Hi Admin, I am unable to register . Request you to help me in getting my registration done. Name: Raghavendra Kulkarni Mail id : <removed> Thanking you in advance for your support. (1 Reply)
Discussion started by: Unregistered
1 Replies

8. Forum Support Area for Unregistered Users & Account Problems

Not able to register

Hi Admin, Currently, i am not able to register in this site. Kindly let me know what need to done. Thanks, ramesh (1 Reply)
Discussion started by: Unregistered
1 Replies

9. Forum Support Area for Unregistered Users & Account Problems

I can not register

I want to register as "nezabudka", but I can't and I have a dynamic ip address. My country is not in the list of restrictions. I'm alive, I'm not a bot ))) (3 Replies)
Discussion started by: nezabudka
3 Replies
DWARF_GET_FDE_INFO_FOR_ALL_REGS3(3)			   BSD Library Functions Manual 		       DWARF_GET_FDE_INFO_FOR_ALL_REGS3(3)

NAME
dwarf_get_fde_info_for_all_regs3 -- retrieve register rule row LIBRARY
DWARF Access Library (libdwarf, -ldwarf) SYNOPSIS
#include <libdwarf.h> int dwarf_get_fde_info_for_all_regs3(Dwarf_Fde fde, Dwarf_Addr pc, Dwarf_Regtable3 *reg_table, Dwarf_Addr *row_pc, Dwarf_Error *err); DESCRIPTION
Function dwarf_get_fde_info_for_all_regs3() retrieves a row from the register rule table associated with the given FDE descriptor. Argument fde should reference a valid DWARF FDE descriptor. Argument pc should hold the program counter address to be used to locate the desired table row. Argument reg_table should point to a Dwarf_Regtable3 descriptor which will hold the returned table row of register rules. The Dwarf_Regtable3 descriptor is defined in the header file <libdwarf.h>: typedef struct { Dwarf_Small dw_offset_relevant; Dwarf_Small dw_value_type; Dwarf_Half dw_regnum; Dwarf_Unsigned dw_offset_or_block_len; Dwarf_Ptr dw_block_ptr; } Dwarf_Regtable_Entry3; typedef struct { Dwarf_Regtable_Entry3 rt3_cfa_rule; Dwarf_Half rt3_reg_table_size; Dwarf_Regtable_Entry3 *rt3_rules; } Dwarf_Regtable3; The rt3_reg_table_size field specifies the maximum number of register rule columns to be returned, and should be set by the application before calling the function. The rt3_rules field should point to a memory arena allocated by the application with space for at least rt3_reg_table_size descriptors of type Dwarf_Regtable_Entry3. On a successful execution of this function, the rt3_cfa_rule field will be set to the CFA register rule associated with the table row, and the rt3_rules array will hold the returned register rules contained in the table row. For each register rule descriptor returned, the dw_offset_relevant field will be set to 1 if the register rule has a offset value, the dw_value_type field will be set to the type code of the register rule and the dw_regnum field will be set to the register number associated with the register rule. If the register rule is of type DW_EXPR_OFFSET or DW_EXPR_VAL_OFFSET, the dw_offset_or_block_len field will be set to the offset value associated with the register rule. If the type is DW_EXPR_EXPRESSION or DW_EXPR_VAL_EXPRESSION, the dw_offset_or_block_len field will be set to the length in bytes of the DWARF expression block associated with the register rule. The dw_block_ptr field will be set to a pointer to the content of the DWARF expression block associated with the register rule. Argument row_pc should point to a location which will be set to the lowest program counter address associated with the table row. If argument err is not NULL, it will be used to store error information in case of an error. RETURN VALUES
Function dwarf_get_fde_info_for_all_regs3() returns DW_DLV_OK when it succeeds. In case of an error, it returns DW_DLV_ERROR and sets the argument err. ERRORS
Function dwarf_get_fde_info_for_all_regs3() can fail with: [DW_DLE_ARGUMENT] One of the arguments fde, reg_table or row_pc was NULL. [DW_DLE_PC_NOT_IN_FDE_RANGE] The program counter value provided in argument pc did not fall in the range covered by argument fde. SEE ALSO
dwarf(3), dwarf_get_fde_at_pc(3), dwarf_get_fde_info_for_all_regs(3), dwarf_get_fde_info_for_cfa_reg3(3), dwarf_get_fde_info_for_reg(3), dwarf_get_fde_info_for_reg3(3), dwarf_get_fde_n(3), dwarf_set_frame_cfa_value(3), dwarf_set_frame_rule_table_size(3), dwarf_set_frame_rule_initial_value(3), dwarf_set_frame_same_value(3), dwarf_set_frame_undefined_value(3) BSD
June 26, 2011 BSD
All times are GMT -4. The time now is 03:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy